diff options
author | adamantike <mike@fmanganiello.com.ar> | 2016-04-23 10:35:26 +0200 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2016-04-23 10:38:21 +0200 |
commit | a72efaa6a3709fa8f2079914c68bcb1506fe3064 (patch) | |
tree | 44fe545c688a4162e513ab1983b859fa1cfc3162 /tests | |
parent | 08e609f59219ca4bbea6cf781d007ca1a4fceb73 (diff) | |
download | rsa-git-a72efaa6a3709fa8f2079914c68bcb1506fe3064.tar.gz |
Unit test for Mersenne primes
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_prime.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/test_prime.py b/tests/test_prime.py index 57620a1..0ecdaa6 100644 --- a/tests/test_prime.py +++ b/tests/test_prime.py @@ -75,6 +75,25 @@ class PrimeTest(unittest.TestCase): finally: rsa.randnum.randint = orig_randint + def test_mersenne_primes(self): + """Tests first known Mersenne primes. + + Mersenne primes are prime numbers that can be written in the form + `Mn = 2**n - 1` for some integer `n`. For the list of known Mersenne + primes, see: + https://en.wikipedia.org/wiki/Mersenne_prime#List_of_known_Mersenne_primes + """ + + # List of known Mersenne exponents. + known_mersenne_exponents = [ + 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, + 2203, 2281, 4423, + ] + + # Test Mersenne primes. + for exp in known_mersenne_exponents: + self.assertTrue(rsa.prime.is_prime(2**exp - 1)) + def test_get_primality_testing_rounds(self): """Test round calculation for primality testing.""" |