module Test.TypeSpec.Group
( type (-/-), type (-*) )
where
import Data.Proxy
import Test.TypeSpec.Core
import Test.TypeSpec.Internal.Apply
import Test.TypeSpec.Internal.Either ()
import Text.PrettyPrint
data expectation1 -/- expectation2
infixr 1 -/-
type instance
EvalExpectation (expectation -/- expectations) =
TyCon2 ((-/-)) <$> EvalExpectation expectation <*> EvalExpectation expectations
type expectation1 -* expectation2 = expectation1 -/- expectation2
infixr 3 -*
instance
( PrettyTypeSpec expectation1
, PrettyTypeSpec expectation2 )
=> PrettyTypeSpec (expectation1 -/- expectation2)
where
prettyTypeSpec _ =
(prettyTypeSpec pe1) $+$ (prettyTypeSpec pe2)
where pe1 = Proxy :: Proxy expectation1
pe2 = Proxy :: Proxy expectation2