Source code

Revision control

Copy as Markdown

Other Tools

from arithmetic import InternalError, add, div, equal, sub
try:
add(18446744073709551615, 1)
assert not ("Should have thrown a IntegerOverflow exception!")
except ArithmeticError.IntegerOverflow:
# It's okay!
pass
assert add(2, 4) == 6
assert add(4, 8) == 12
try:
sub(0, 1)
assert not ("Should have thrown a IntegerOverflow exception!")
except ArithmeticError.IntegerOverflow:
# It's okay!
pass
assert sub(4, 2) == 2
assert sub(8, 4) == 4
assert div(8, 4) == 2
try:
div(8, 0)
except InternalError:
# It's okay!
pass
else:
assert not ("Should have panicked when dividing by zero")
assert equal(2, 2)
assert equal(4, 4)
assert not equal(2, 4)
assert not equal(4, 8)