catacomb.c (mexp_common): Accept an arbitrary iterable.
[catacomb-python] / t / t-pgen.py
index dd66903..e200add 100644 (file)
@@ -221,7 +221,23 @@ class TestPGen (U.TestCase):
     me.assertEqual(p, 2*q*h + 1)
     me.assertTrue(p.primep())
     me.assertEqual(p.nbits, 512)
-    me.assertEqual(ev.events, "[p [h]:F17/P6/D][p:F60/P26/D]")
+    me.assertEqual(ev.events, "[p [h]:F53/P6/D][p:F32/P26/D]")
+
+###--------------------------------------------------------------------------
+class TestPrimeIter (U.TestCase):
+
+  def test(me):
+    me.assertEqual(list(I.islice(C.PrimeIter(0), 5)), [2, 3, 5, 7, 11])
+    me.assertEqual(list(I.islice(C.PrimeIter(1000), 5)),
+                   [1009, 1013, 1019, 1021, 1031])
+    me.assertEqual(list(I.islice(C.PrimeIter(1000000), 5)),
+                   [1000003, 1000033, 1000037, 1000039, 1000081])
+    me.assertEqual(list(I.islice(C.PrimeIter(1000000000000000000000000000000000000), 5)),
+                   [1000000000000000000000000000000000067,
+                    1000000000000000000000000000000000123,
+                    1000000000000000000000000000000000141,
+                    1000000000000000000000000000000000159,
+                    1000000000000000000000000000000000163])
 
 ###----- That's all, folks --------------------------------------------------