interval-algebra-1.0.0: test-axioms/AxiomsSpec.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleContexts #-}
module AxiomsSpec (spec) where
import Test.Hspec ( hspec, describe, it, Spec, )
import Test.Hspec.QuickCheck ( modifyMaxSuccess )
import Test.QuickCheck ( quickCheck
, generate
, Gen(..)
, Arbitrary(arbitrary)
, Property
, Testable(property) )
import Data.Time ( Day, UTCTime )
import IntervalAlgebra.Axioms ( IntervalAxioms(..) )
spec :: Spec
spec = do
describe "An Axiomatization of Interval Time" $
modifyMaxSuccess (*1000) $
do
it "M1" $ property (prop_IAaxiomM1 @Int)
it "M1" $ property (prop_IAaxiomM1 @Day)
it "M1" $ property (prop_IAaxiomM1 @UTCTime)
it "M2" $ property (prop_IAaxiomM2 @Int)
it "M2" $ property (prop_IAaxiomM2 @Day)
it "M2" $ property (prop_IAaxiomM2 @UTCTime)
it "ML1" $ property (prop_IAaxiomML1 @Int)
it "ML1" $ property (prop_IAaxiomML1 @Day)
it "ML1" $ property (prop_IAaxiomML1 @UTCTime)
it "ML2" $ property (prop_IAaxiomML2 @Int)
it "ML2" $ property (prop_IAaxiomML2 @Day)
it "ML2" $ property (prop_IAaxiomML2 @UTCTime)
it "M3" $ property (prop_IAaxiomM3 @Int)
it "M3" $ property (prop_IAaxiomM3 @Day)
it "M3" $ property (prop_IAaxiomM3 @UTCTime)
it "M4" $ property (prop_IAaxiomM4 @Int)
it "M4" $ property (prop_IAaxiomM4 @Day)
it "M4" $ property (prop_IAaxiomM4 @UTCTime)
it "M5" $ property (prop_IAaxiomM5 @Int)
it "M5" $ property (prop_IAaxiomM5 @Day)
it "M5" $ property (prop_IAaxiomM5 @UTCTime)
it "M4.1" $ property (prop_IAaxiomM4_1 @Int)
it "M4.1" $ property (prop_IAaxiomM4_1 @Day)
it "M4.1" $ property (prop_IAaxiomM4_1 @UTCTime)