elliptic-curve-0.2.1: tests/MontgomeryTests.hs
module MontgomeryTests where
import Protolude
import qualified Curve.Montgomery.Curve448 as Curve448
import qualified Curve.Montgomery.Curve25519 as Curve25519
import qualified Curve.Montgomery.Curve383187 as Curve383187
import qualified Curve.Montgomery.M221 as M221
import qualified Curve.Montgomery.M383 as M383
import qualified Curve.Montgomery.M511 as M511
import Test.Tasty
import Test.Tasty.QuickCheck
import GroupTests
testMontgomery :: TestTree
testMontgomery = testGroup "Montgomery"
[ testMontgomery' 100 "Curve448" Curve448._h Curve448._q Curve448._r Curve448.gA
, testMontgomery' 100 "Curve25519" Curve25519._h Curve25519._q Curve25519._r Curve25519.gA
, testMontgomery' 100 "Curve383187" Curve383187._h Curve383187._q Curve383187._r Curve383187.gA
, testMontgomery' 100 "M221" M221._h M221._q M221._r M221.gA
, testMontgomery' 100 "M383" M383._h M383._q M383._r M383.gA
, testMontgomery' 100 "M511" M511._h M511._q M511._r M511.gA
]
where
testMontgomery' n c h q r a = localOption (QuickCheckTests n) $ testGroup c
[ test "Affine" a h q r
]