Exemplo n.º 1
0
 def test_divmod(self) -> None:
     for i in range(5):
         for j in range(1, 5):
             self.assertEqual(
                 divmod(natural_number(i), natural_number(j)),
                 tuple(map(natural_number, divmod(i, j))),
             )
Exemplo n.º 2
0
 def test_set_repr(self) -> None:
     self.assertEqual(natural_number(0).set_repr(), frozenset())
     self.assertEqual(
         natural_number(1).set_repr(), frozenset((frozenset(), )))
     self.assertEqual(
         natural_number(2).set_repr(),
         frozenset((frozenset(), frozenset((frozenset(), )))),
     )
 def test_pow(self) -> None:
     for i in range(3):
         for j in range(3):
             for k in range(3):
                 self.assertEqual(
                     rational(i, j)**natural_number(k),
                     rational(i**k, j**k))
Exemplo n.º 4
0
 def test_floordiv(self) -> None:
     for i in range(10):
         for j in range(1, 10):
             self.assertEqual(
                 natural_number(i) // natural_number(j),
                 natural_number(i // j))
Exemplo n.º 5
0
 def test_bool(self) -> None:
     for i in range(20):
         self.assertEqual(bool(natural_number(i)), bool(i))
Exemplo n.º 6
0
 def test_sub(self) -> None:
     for i in range(10):
         for j in range(i):
             self.assertEqual(
                 natural_number(i) - natural_number(j),
                 natural_number(i - j))
Exemplo n.º 7
0
 def test_mod(self) -> None:
     for i in range(10):
         for j in range(1, 10):
             self.assertEqual(
                 natural_number(i) % natural_number(j),
                 natural_number(i % j))
Exemplo n.º 8
0
 def test_reversed(self) -> None:
     for i, n in enumerate(reversed((natural_number(30)))):
         self.assertEqual(n, natural_number(29 - i))
Exemplo n.º 9
0
 def test_lt(self) -> None:
     for i in range(10):
         for j in range(10):
             self.assertEqual(natural_number(i) < natural_number(j), i < j)
Exemplo n.º 10
0
 def test_add(self) -> None:
     for i in range(5):
         for j in range(5):
             self.assertEqual(
                 natural_number(i) + natural_number(j),
                 natural_number(i + j))
Exemplo n.º 11
0
 def test_str(self) -> None:
     for i in range(20):
         self.assertEqual(str(natural_number(i)), str(i))
Exemplo n.º 12
0
 def test_abs(self) -> None:
     for i in range(30):
         self.assertEqual(abs(natural_number(i)), natural_number(abs(i)))
Exemplo n.º 13
0
 def test_eq(self) -> None:
     for i in range(20):
         n = NaturalNumber()
         for _ in range(i):
             n = NaturalNumber(n)
         self.assertEqual(natural_number(i), n)
Exemplo n.º 14
0
 def test_pos(self) -> None:
     for i in range(30):
         self.assertEqual(+natural_number(i), natural_number(+i))
Exemplo n.º 15
0
 def test_pow(self) -> None:
     for i in range(4):
         for j in range(4):
             self.assertEqual(
                 natural_number(i)**natural_number(j), natural_number(i**j))
Exemplo n.º 16
0
 def test_set_str(self) -> None:
     self.assertEqual(natural_number(0).set_str(), "{}")
     self.assertEqual(natural_number(1).set_str(), "{{}}")
     self.assertEqual(natural_number(2).set_str(), "{{}, {{}}}")
     self.assertEqual(natural_number(3).set_str(), "{{}, {{}, {{}}}, {{}}}")
Exemplo n.º 17
0
 def test_int(self) -> None:
     for i in range(20):
         self.assertEqual(int(natural_number(i)), int(i))
 def test_eq(self) -> None:
     for i in range(-10, 10):
         for j in range(abs(i), 10):
             self.assertEqual(
                 integer(i),
                 Integer(natural_number(i + j), natural_number(j)))
Exemplo n.º 19
0
 def test_hash(self) -> None:
     for i in range(20):
         self.assertEqual(hash(natural_number(i)), hash(i))
Exemplo n.º 20
0
 def test_bigmul(self) -> None:
     self.assertEqual(
         natural_number(100) * natural_number(100),
         natural_number(100 * 100))
Exemplo n.º 21
0
 def test_mul(self) -> None:
     for i in range(5):
         for j in range(5):
             self.assertEqual(
                 natural_number(i) * natural_number(j),
                 natural_number(i * j))
Exemplo n.º 22
0
 def test_iter(self) -> None:
     for i, n in enumerate(natural_number(30)):
         self.assertEqual(n, natural_number(i))