Esempio n. 1
0
 def test_creation(self):
     a = VInt(123)
     assert a.get_digits() == [1, 2, 3]
     a = VInt.fromvdigits([VDigit(1), VDigit(2), VDigit(3)])
     assert a.get_digits() == [1, 2, 3]
     a = VInt.fromints([1, 2, 3])
     assert a.get_digits() == [1, 2, 3]
Esempio n. 2
0
 def test_mul(self):
     d1 = VDigit(1)
     d3 = VDigit(3)
     d9 = VDigit(9)
     dm9 = VDigit(-9)
     assert (d1 * d3).get_digits() == [3]
     assert (d3 * d9).get_digits() == [2, 7]
     assert (d3 * dm9).get_digits() == [-2, -7]
Esempio n. 3
0
 def test_sub(self):
     d1 = VDigit(1)
     d3 = VDigit(3)
     d9 = VDigit(9)
     dm9 = VDigit(-9)
     assert (d1 - d3).get_digits() == [-2]
     assert (d3 - d9).get_digits() == [-6]
     assert (d3 - dm9).get_digits() == [1, 2]
Esempio n. 4
0
 def test_add(self):
     d1 = VDigit(1)
     d3 = VDigit(3)
     d9 = VDigit(9)
     dm9 = VDigit(-9)
     assert (d1 + d3).get_digits() == [4]
     assert (d3 + d9).get_digits() == [1, 2]
     assert (d3 + dm9).get_digits() == [-6]
Esempio n. 5
0
 def fromints(cls, ds):
     '''
     Return a VInt from a list of digits as ints.
     '''
     ans = cls(0)
     ans.ds = [VDigit(d) for d in ds]
     return ans
Esempio n. 6
0
 def test_abs(self):
     d1 = VDigit(1)
     d3 = VDigit(3)
     d9 = VDigit(9)
     dm9 = VDigit(-9)
     assert abs(d1) == VDigit(1)
     assert abs(d3) == VDigit(3)
     assert abs(d9) == VDigit(9)
     assert abs(dm9) == VDigit(9)
Esempio n. 7
0
 def test_neg(self):
     d1 = VDigit(1)
     d3 = VDigit(3)
     d9 = VDigit(9)
     dm9 = VDigit(-9)
     assert -d1 == VDigit(-1)
     assert -d3 == VDigit(-3)
     assert -d9 == VDigit(-9)
     assert -dm9 == VDigit(9)
Esempio n. 8
0
 def test_as_vinteger(self):
     assert VDigit(3).as_vinteger().get_digits() == VInteger(3).get_digits()
     assert VDigit(-3).as_vinteger().get_digits() == VInteger(
         -3).get_digits()
Esempio n. 9
0
 def test_creation(self):
     assert digit_from_vdigit(VDigit(7)) == 7
     assert digit_from_vdigit(VDigit(0)) == 0
     assert digit_from_vdigit(VDigit(-3)) == -3
Esempio n. 10
0
 def __init__(self, n: int):
     '''
     Initialise a VInt from an integer n.
     '''
     self.ds = [VDigit(d) for d in int_to_digits(n)]