def test_len_in_bits(self): self.assertEqual(libnum.len_in_bits(1023), 10) self.assertEqual(libnum.len_in_bits(1024), 11) self.assertEqual(libnum.len_in_bits(1), 1) self.assertRaises(ValueError, libnum.len_in_bits, 0) self.assertRaises(TypeError, libnum.len_in_bits, "qwe")
def test_len_in_bits(): assert len_in_bits(140737488355328) == 48 assert len_in_bits(1023) == 10 assert len_in_bits(1024) == 11 assert len_in_bits(1) == 1 assert len_in_bits(0) == 0 # test number close to powers of two for p in (1, 10, 100, 1000, 10000, 100000): pow2 = 1 << p assert len_in_bits(pow2 + 1), p == 1 assert len_in_bits(pow2), p == 1 assert len_in_bits(pow2 - 1) == p with pytest.raises(TypeError): len_in_bits("qwe")
def test_genprime(self): for size in [2, 10, 64, 128, 129]: p = libnum.generate_prime(size, k=25) self.assertEqual(libnum.len_in_bits(p), size) self.assertTrue(libnum.ferma_test(p, k=15)) self.assertRaises(ValueError, libnum.generate_prime, 1) self.assertRaises(TypeError, libnum.generate_prime, "")
def test_genprime(): for size in (2, 10, 64, 128, 129, 256): for ntry in range(10): p = generate_prime(size, k=25) assert len_in_bits(p) == size assert prime_test_ferma(p, k=25) assert prime_test_solovay_strassen(p, k=25) assert prime_test_miller_rabin(p, k=25) assert prime_test(p, k=25) with pytest.raises(ValueError): generate_prime(1) with pytest.raises(TypeError): generate_prime("")