You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
55 lines
1.4 KiB
import pycarl
|
|
from configurations import PackageSelector
|
|
|
|
|
|
class TestInteger(PackageSelector):
|
|
def test_construction(self, package):
|
|
i3 = package.Integer("3")
|
|
assert str(i3) == "3"
|
|
i4 = package.Integer(4)
|
|
assert str(i4) == "4"
|
|
|
|
def test_eq(self, package):
|
|
i3 = package.Integer(3)
|
|
assert i3 == 3
|
|
i3b = package.Integer(3)
|
|
assert i3 == i3b
|
|
in3 = package.Integer(-3)
|
|
assert in3 == -3
|
|
|
|
def test_addition(self, package):
|
|
i1 = package.Integer(3)
|
|
i2 = package.Integer(2)
|
|
res = i1 + i2
|
|
assert isinstance(res, package.Integer)
|
|
assert res == 5
|
|
assert i1 + 4 == 7
|
|
assert i1 + -3 == 0
|
|
|
|
def test_subtraction(self, package):
|
|
i1 = package.Integer(4)
|
|
i2 = package.Integer(-3)
|
|
res = i1 - i2
|
|
assert isinstance(res, package.Integer)
|
|
assert res == 7
|
|
|
|
def test_multiplication(self, package):
|
|
i1 = package.Integer(5)
|
|
i2 = package.Integer(6)
|
|
res = i1 * i2
|
|
assert isinstance(res, package.Integer)
|
|
assert res == 30
|
|
|
|
def test_division(self, package):
|
|
i1 = package.Integer(10)
|
|
i2 = package.Integer(2)
|
|
res = i1 / i2
|
|
assert isinstance(res, package.Rational)
|
|
assert res == 5
|
|
|
|
def test_neg(self, package):
|
|
i3 = package.Integer(3)
|
|
in3 = -i3
|
|
assert in3 == -3
|
|
inn3 = -in3
|
|
assert i3 == inn3
|