def test_str_args(self): for p in map(str, self.big_primes): self.assertTrue(cp.is_prime(p), "is_prime reported composite for prime:\n\t{}".format(p)) bad_strs = [ "123.4", "123-4", "", "d 1234 "] for bs in bad_strs: with self.assertRaises(ValueError): cp.is_prime(bs)
def test_big_nonprime(self): not_p = 743808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153 self.assertFalse(cp.is_prime(not_p), "is_prime reported prime for composite:\n\t{}".format(not_p)) #make and test some semiprimes for pair in itertools.product(self.big_primes, repeat = 2): a, b = pair self.assertFalse(cp.is_prime(a * b))
def test_floats_raise_TypeError(self): with self.assertRaises(TypeError): cp.is_prime(557.0)
def test_big_primes(self): for p in self.big_primes: self.assertTrue(cp.is_prime(p), "is_prime reported composite for prime:\n\t{}".format(p))
def test_small_nums(self): rabin_results = [x for x in range(primes[-1] + 1) if cp.is_prime(x)] self.assertEqual(primes, rabin_results)