From bf0daabbaef9bd8faffb290e98114305a19b5143 Mon Sep 17 00:00:00 2001 From: Jeong Yunwon Date: Wed, 4 May 2022 00:09:26 +0900 Subject: [PATCH] split math_basics.py to proper files --- extra_tests/snippets/builtin_pow.py | 16 ++++++ extra_tests/snippets/builtin_round.py | 14 ++++++ extra_tests/snippets/math_basics.py | 72 --------------------------- extra_tests/snippets/operator.py | 34 +++++++++++++ 4 files changed, 64 insertions(+), 72 deletions(-) delete mode 100644 extra_tests/snippets/math_basics.py create mode 100644 extra_tests/snippets/operator.py diff --git a/extra_tests/snippets/builtin_pow.py b/extra_tests/snippets/builtin_pow.py index acdbb7b60..d31e5dd71 100644 --- a/extra_tests/snippets/builtin_pow.py +++ b/extra_tests/snippets/builtin_pow.py @@ -6,6 +6,22 @@ assert pow(5, 3, 100) == 25 assert pow(41, 7, 2) == 1 assert pow(7, 2, 49) == 0 +assert pow(0, 0) == 1 +assert pow(2, 2) == 4 +assert pow(1, 2.0) == 1.0 +assert pow(2.0, 1) == 2.0 +assert pow(0, 10**1000) == 0 +assert pow(1, 10**1000) == 1 +assert pow(-1, 10**1000+1) == -1 +assert pow(-1, 10**1000) == 1 + +assert pow(2, 4, 5) == 1 +assert_raises(TypeError, pow, 2, 4, 5.0) +assert_raises(TypeError, pow, 2, 4.0, 5) +assert_raises(TypeError, pow, 2.0, 4, 5) +assert pow(2, -1, 5) == 3 +assert_raises(ValueError, pow, 2, 2, 0) + assert_almost_equal = assert_equal diff --git a/extra_tests/snippets/builtin_round.py b/extra_tests/snippets/builtin_round.py index bad9c9e05..b4b070c4c 100644 --- a/extra_tests/snippets/builtin_round.py +++ b/extra_tests/snippets/builtin_round.py @@ -1,5 +1,19 @@ from testutils import assert_raises +assert round(1.2) == 1 +assert round(1.8) == 2 +assert round(0.5) == 0 +assert round(1.5) == 2 +assert round(-0.5) == 0 +assert round(-1.5) == -2 + +# ValueError: cannot convert float NaN to integer +assert_raises(ValueError, round, float('nan')) +# OverflowError: cannot convert float infinity to integer +assert_raises(OverflowError, round, float('inf')) +# OverflowError: cannot convert float infinity to integer +assert_raises(OverflowError, round, -float('inf')) + assert round(0) == 0 assert isinstance(round(0), int) assert round(0.0) == 0 diff --git a/extra_tests/snippets/math_basics.py b/extra_tests/snippets/math_basics.py deleted file mode 100644 index 9ff5a4075..000000000 --- a/extra_tests/snippets/math_basics.py +++ /dev/null @@ -1,72 +0,0 @@ -from testutils import assert_raises - -assert -3 // 2 == -2 -assert -3 % 2 == 1 - -a = 4 - -#print(a ** 3) -#print(a * 3) -#print(a / 2) -#print(a % 3) -#print(a - 3) -#print(-a) -#print(+a) - -assert a ** 3 == 64 -assert a * 3 == 12 -assert a / 2 == 2 -assert 2 == a / 2 -assert a % 3 == 1 -assert a - 3 == 1 -assert -a == -4 -assert +a == 4 - -assert round(1.2) == 1 -assert round(1.8) == 2 -assert round(0.5) == 0 -assert round(1.5) == 2 -assert round(-0.5) == 0 -assert round(-1.5) == -2 - -# ValueError: cannot convert float NaN to integer -assert_raises(ValueError, round, float('nan')) -# OverflowError: cannot convert float infinity to integer -assert_raises(OverflowError, round, float('inf')) -# OverflowError: cannot convert float infinity to integer -assert_raises(OverflowError, round, -float('inf')) - -assert pow(0, 0) == 1 -assert pow(2, 2) == 4 -assert pow(1, 2.0) == 1.0 -assert pow(2.0, 1) == 2.0 -assert pow(0, 10**1000) == 0 -assert pow(1, 10**1000) == 1 -assert pow(-1, 10**1000+1) == -1 -assert pow(-1, 10**1000) == 1 - -assert pow(2, 4, 5) == 1 -assert_raises(TypeError, pow, 2, 4, 5.0) -assert_raises(TypeError, pow, 2, 4.0, 5) -assert_raises(TypeError, pow, 2.0, 4, 5) -assert pow(2, -1, 5) == 3 -assert_raises(ValueError, pow, 2, 2, 0) - -# bitwise - -assert 8 >> 3 == 1 -assert 8 << 3 == 64 - -# Left shift raises type error -assert_raises(TypeError, lambda: 1 << 0.1) -assert_raises(TypeError, lambda: 1 << "abc") - -# Right shift raises type error -assert_raises(TypeError, lambda: 1 >> 0.1) -assert_raises(TypeError, lambda: 1 >> "abc") - -# Left shift raises value error on negative -assert_raises(ValueError, lambda: 1 << -1) - -# Right shift raises value error on negative -assert_raises(ValueError, lambda: 1 >> -1) diff --git a/extra_tests/snippets/operator.py b/extra_tests/snippets/operator.py new file mode 100644 index 000000000..d44728d0f --- /dev/null +++ b/extra_tests/snippets/operator.py @@ -0,0 +1,34 @@ +from testutils import assert_raises + +assert -3 // 2 == -2 +assert -3 % 2 == 1 + +a = 4 + +assert a ** 3 == 64 +assert a * 3 == 12 +assert a / 2 == 2 +assert 2 == a / 2 +assert a % 3 == 1 +assert a - 3 == 1 +assert -a == -4 +assert +a == 4 + +# bitwise + +assert 8 >> 3 == 1 +assert 8 << 3 == 64 + +# Left shift raises type error +assert_raises(TypeError, lambda: 1 << 0.1) +assert_raises(TypeError, lambda: 1 << "abc") + +# Right shift raises type error +assert_raises(TypeError, lambda: 1 >> 0.1) +assert_raises(TypeError, lambda: 1 >> "abc") + +# Left shift raises value error on negative +assert_raises(ValueError, lambda: 1 << -1) + +# Right shift raises value error on negative +assert_raises(ValueError, lambda: 1 >> -1)