Description
Spec for testing properties.
Description
Spec for testing properties for variant types. Uses QuickCheckVariant package.
README.md
hspecVariant
Spec for testing properties for variant types
{-# LANGUAGE TypeSynonymInstances #-}
import Test.QuickCheck.Variant
type Natural = Integer
instance Variant Natural where
invalid = do
n <- arbitrary
if (n<0) then return n else return ((-1)*(n+1))
valid = do
n <- arbitrary
if (n>=0) then return n else return ((-1)*n)
Test
import Test.QuickCheck
import Test.Hspec
import Test.Hspec.Variant
main::IO ()
main = hspec $
describe "Naturals" $
propValid "succ" $
\x -> succ (x::Natural) > 0