packages feed

pell-0.1.0.0: Math/NumberTheory/Pell/Test.hs

module Math.NumberTheory.Pell.Test where

import Distribution.TestSuite.QuickCheck (Test, testProperty, testGroup)
import Math.NumberTheory.Moduli.SquareRoots.Test (prop_sqrtsPP, prop_sqrts)
import Math.NumberTheory.Pell.Test.Reduced (prop_reduced)
import Math.NumberTheory.Pell.Test.Solve (Problem (..), prop_solves)

tests :: IO [Test]
tests = return 
            [
                testGroup "SquareRoots"
                    [
                        testProperty "sqrtsPP"       prop_sqrtsPP,
                        testProperty "sqrts"         prop_sqrts
                    ],
                testGroup "Pell"
                    [
                        testProperty "reduced"       prop_reduced,
                        testProperty "solves 7   9"  (prop_solves 100 $ Problem 7   9),
                        testProperty "solves 5 (-4)" (prop_solves 100 $ Problem 5 (-4)),
                        testProperty "solves 2 (-7)" (prop_solves 100 $ Problem 2 (-7)),
                        testProperty "solves"        (prop_solves 100000)
                    ]
           ]

-- main :: IO ()
-- main = do
--     test prop_sqrtsPP
--     test prop_sqrts
--     test prop_reduced
--     test (prop_solves 100 $ Problem 7   9)
--     test (prop_solves 100 $ Problem 5 (-4))
--     test (prop_solves 100 $ Problem 2 (-7))
--     test (prop_solves 100000)
--