turingMachine-1.0.0.0: test/LabelTest.hs
{-# OPTIONS_GHC -fno-warn-tabs #-}
module Main where
import qualified Data.Set as Set
import Data.Label
import Test.Hspec
import Test.Hspec.QuickCheck
import Test.QuickCheck
instance (Arbitrary a) => Arbitrary (Label a) where
arbitrary = do
x <- arbitrary
(oneof . fmap return) [QE, Q x]
terminalTest = describe "terminal" $ do
prop "Not in" $
\x y -> (x == y) || not (terminal (Set.fromList [x]) (y:: Label Int))
prop "In" $
\x -> terminal (Set.fromList [x]) (x:: Label Int)
main::IO ()
main = hspec $
describe "Data.State" terminalTest