2017-01-08 07:21:22 +03:00
|
|
|
{-# LANGUAGE DataKinds #-}
|
2015-12-17 21:08:47 +03:00
|
|
|
module TermSpec where
|
|
|
|
|
2017-01-08 07:21:22 +03:00
|
|
|
import Category
|
|
|
|
import Data.Functor.Listable
|
2017-09-14 02:14:01 +03:00
|
|
|
import Data.Record
|
2017-09-27 19:37:37 +03:00
|
|
|
import Data.Term
|
2017-09-14 02:14:01 +03:00
|
|
|
import Syntax
|
2016-09-15 00:45:23 +03:00
|
|
|
import Test.Hspec (Spec, describe, parallel)
|
|
|
|
import Test.Hspec.Expectations.Pretty
|
2017-01-08 07:21:22 +03:00
|
|
|
import Test.Hspec.LeanCheck
|
2015-12-17 21:08:47 +03:00
|
|
|
|
|
|
|
spec :: Spec
|
2016-01-05 18:38:51 +03:00
|
|
|
spec = parallel $ do
|
2015-12-17 21:08:47 +03:00
|
|
|
describe "Term" $ do
|
|
|
|
prop "equality is reflexive" $
|
2017-09-14 02:14:01 +03:00
|
|
|
\ a -> unListableF a `shouldBe` (unListableF a :: Term Syntax (Record '[Category]))
|