ToomCookInstance works!
[bigint-presentation-code.git] / src / bigint_presentation_code / test_toom_cook.py
index 8fe6cea693e98687abc4a877e830680ba963126c..f880a81ca406519fe27d9295c96e022393b930b4 100644 (file)
@@ -1,10 +1,46 @@
 import unittest
 
-import bigint_presentation_code.toom_cook
+from bigint_presentation_code.toom_cook import ToomCookInstance
 
 
 class TestToomCook(unittest.TestCase):
-    pass  # no tests yet, just testing importing
+    def test_toom_2(self):
+        TOOM_2 = ToomCookInstance.make_toom_2()
+        print(repr(repr(TOOM_2)))
+        self.assertEqual(
+            repr(TOOM_2),
+            "ToomCookInstance(lhs_part_count=2, rhs_part_count=2, "
+            "eval_points=(0, 1, POINT_AT_INFINITY), "
+            "lhs_eval_ops=("
+            "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
+            "EvalOpAdd(lhs="
+            "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
+            "rhs="
+            "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)})), "
+            "poly=EvalOpPoly({0: Fraction(1, 1), 1: Fraction(1, 1)})), "
+            "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)}))),"
+            " rhs_eval_ops=("
+            "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
+            "EvalOpAdd(lhs="
+            "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
+            "rhs="
+            "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)})), "
+            "poly=EvalOpPoly({0: Fraction(1, 1), 1: Fraction(1, 1)})), "
+            "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)}))),"
+            " prod_eval_ops=("
+            "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
+            "EvalOpSub(lhs="
+            "EvalOpSub(lhs="
+            "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)})), "
+            "rhs="
+            "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
+            "poly=EvalOpPoly({0: Fraction(-1, 1), 1: Fraction(1, 1)})), "
+            "rhs="
+            "EvalOpInput(lhs=2, rhs=0, poly=EvalOpPoly({2: Fraction(1, 1)})), "
+            "poly=EvalOpPoly({"
+            "0: Fraction(-1, 1), 1: Fraction(1, 1), 2: Fraction(-1, 1)})), "
+            "EvalOpInput(lhs=2, rhs=0, poly=EvalOpPoly({2: Fraction(1, 1)}))))"
+        )
 
 
 if __name__ == "__main__":