def testIsPrime(self): limit = 100 primes = intalg.primes_upto(limit) self.assertEquals(97, primes[-1]) primes2 = [n for n in xrange(limit + 1) if intalg.is_prime(n)] self.assertEquals(primes, primes2) self.assertEquals('True', repr(intalg.is_prime(97))) self.assertEquals('False', repr(intalg.is_prime(98))) self.assertEquals('False', repr(intalg.is_prime(99))) self.assertEquals('False', repr(intalg.is_prime(100))) self.assertEquals([1], intalg._prime_cache_limit_ary[:]) intalg.prime_index(257) self.assertEquals([512], intalg._prime_cache_limit_ary[:]) primes3 = [n for n in xrange(99) if intalg.is_prime(n)] self.assertEquals(primes, primes3) limit = 1009 primes = intalg.primes_upto(limit) self.assertEquals(1009, primes[-1]) primes2 = [n for n in xrange(limit + 1) if intalg.is_prime(n)] self.assertEquals(primes, primes2) del intalg._prime_cache[:] primes4 = [n for n in xrange(99) if intalg.is_prime(n)] self.assertEquals([2], primes4) # Because of the fake empty _prime_cache.
def testPrimesUpto(self): self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19], intalg.primes_upto(22)) self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23], intalg.primes_upto(23)) self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23], intalg.primes_upto(24)) primes = intalg.primes_upto(100) self.assertEquals([1], intalg._prime_cache_limit_ary[:]) self.assertEquals(None, intalg.prime_index(100)) self.assertEquals(len(primes) - 1, intalg.prime_index(97)) self.assertEquals(primes, intalg.primes_upto(100)) self.assertEquals(primes, intalg.primes_upto(97)) intalg._prime_cache[:] = [6, 77, 8] primes3 = intalg.primes_upto(100) self.assertEquals([6, 77, 8], primes3) # Because of the fake _prime_cache.
def testFirstPrimes(self): self.assertEquals([], intalg.first_primes(0)) self.assertEquals([2], intalg.first_primes(1)) self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19], intalg.first_primes(8)) self.assertEquals([2, 3, 5, 7, 11, 13, 17, 19, 23], intalg.first_primes(9)) primes = intalg.first_primes(100) self.assertEquals(100, len(primes)) self.assertEquals([1], intalg._prime_cache_limit_ary[:]) self.assertEquals(len(primes) - 1, intalg.prime_index(primes[-1])) self.assertEquals([1024], intalg._prime_cache_limit_ary[:]) primes2 = intalg.first_primes(100) self.assertEquals(primes, primes2) intalg._prime_cache[0] = 6 primes3 = intalg.first_primes(100) primes3_exp = primes2[:] primes3_exp[0] = 6 self.assertEquals(primes3_exp, primes3) # Because of the fake _prime_cache.
def testPrimeIndex(self): self.assertEquals(2, intalg.prime_index(5)) self.assertEquals([256], intalg._prime_cache_limit_ary[:]) self.assertEquals(2, intalg.prime_index(5)) self.assertEquals(None, intalg.prime_index(4)) self.assertEquals(1, intalg.prime_index(3)) self.assertEquals(0, intalg.prime_index(2)) self.assertEquals(None, intalg.prime_index(1)) self.assertEquals(None, intalg.prime_index(0)) self.assertEquals(None, intalg.prime_index(255)) self.assertEquals(len(intalg._prime_cache) - 1, intalg.prime_index(251)) self.assertEquals(len(intalg._prime_cache) - 1, intalg.prime_index(251)) self.assertEquals([256], intalg._prime_cache_limit_ary[:]) # Grows the cache. self.assertEquals(intalg.prime_index(251) + 1, intalg.prime_index(257)) self.assertEquals([512], intalg._prime_cache_limit_ary[:]) self.assertEquals(intalg.prime_index(251) + 1, intalg.prime_index(257, 600)) self.assertEquals([512], intalg._prime_cache_limit_ary[:]) self.assertEquals(None, intalg.prime_index(600, 600)) self.assertEquals([600], intalg._prime_cache_limit_ary[:]) self.assertEquals(109, intalg.prime_index(601, limit=155)) self.assertEquals([620], intalg._prime_cache_limit_ary[:])
def testPrimeIndex(self): self.assertEquals(2, intalg.prime_index(5)) self.assertEquals([256], intalg._prime_cache_limit_ary[:]) self.assertEquals(2, intalg.prime_index(5)) self.assertEquals(None, intalg.prime_index(4)) self.assertEquals(1, intalg.prime_index(3)) self.assertEquals(0, intalg.prime_index(2)) self.assertEquals(None, intalg.prime_index(1)) self.assertEquals(None, intalg.prime_index(0)) self.assertEquals(None, intalg.prime_index(255)) self.assertEquals( len(intalg._prime_cache) - 1, intalg.prime_index(251)) self.assertEquals( len(intalg._prime_cache) - 1, intalg.prime_index(251)) self.assertEquals([256], intalg._prime_cache_limit_ary[:]) # Grows the cache. self.assertEquals(intalg.prime_index(251) + 1, intalg.prime_index(257)) self.assertEquals([512], intalg._prime_cache_limit_ary[:]) self.assertEquals( intalg.prime_index(251) + 1, intalg.prime_index(257, 600)) self.assertEquals([512], intalg._prime_cache_limit_ary[:]) self.assertEquals(None, intalg.prime_index(600, 600)) self.assertEquals([600], intalg._prime_cache_limit_ary[:]) self.assertEquals(109, intalg.prime_index(601, limit=155)) self.assertEquals([620], intalg._prime_cache_limit_ary[:])