[tests] add a test for prime number
This commit is contained in:
parent
bc4a55ff74
commit
e989d2a404
@ -4,6 +4,7 @@ import Imports
|
|||||||
|
|
||||||
import Crypto.Number.Basic
|
import Crypto.Number.Basic
|
||||||
import Crypto.Number.Generate
|
import Crypto.Number.Generate
|
||||||
|
import Crypto.Number.Prime
|
||||||
import Data.Bits
|
import Data.Bits
|
||||||
|
|
||||||
tests = testGroup "number"
|
tests = testGroup "number"
|
||||||
@ -27,4 +28,11 @@ tests = testGroup "number"
|
|||||||
, testProperty "generate-range" $ \testDRG (Positive range) ->
|
, testProperty "generate-range" $ \testDRG (Positive range) ->
|
||||||
let r = withTestDRG testDRG $ generateMax range
|
let r = withTestDRG testDRG $ generateMax range
|
||||||
in 0 <= r && r < range
|
in 0 <= r && r < range
|
||||||
|
, testProperty "generate-prime" $ \testDRG (Positive baseBits) ->
|
||||||
|
let bits = 8 + baseBits
|
||||||
|
prime = withTestDRG testDRG $ generatePrime bits
|
||||||
|
-- with small base bits numbers, the probability that we "cross" this bit size ness
|
||||||
|
-- to the next is quite high, as the number generated has two highest bit set.
|
||||||
|
--
|
||||||
|
in bits == numBits prime || (if baseBits < 80 then (bits + 1) == numBits prime else False)
|
||||||
]
|
]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user