symantic-lib-0.0.5.20190614: test/HUnit/Functor.hs
{-# OPTIONS_GHC -fno-warn-missing-signatures #-}
module HUnit.Functor where
import Test.Tasty
import Data.Bool
import Data.Either (Either(..))
import Data.Functor (Functor)
import Data.Maybe (Maybe(..))
import Data.Proxy (Proxy(..))
import Prelude (Integer)
import Language.Symantic ()
import Language.Symantic.Lib
import Testing.Compiling
type SS =
[ Proxy (->)
, Proxy Bool
, Proxy Functor
, Proxy Integer
, Proxy Maybe
]
(==>) = readTe @() @SS
hunits :: TestTree
hunits = testGroup "Functor"
[ "fmap not (Just True)" ==> Right (tyMaybe tyBool, Just False, "fmap (\\x0 -> not x0) (Just True)")
, "not `fmap` Just True" ==> Right (tyMaybe tyBool, Just False, "fmap (\\x0 -> not x0) (Just True)")
, "not <$> Just True" ==> Right (tyMaybe tyBool, Just False, "(\\x0 -> not x0) <$> Just True")
, "False <$ Just True" ==> Right (tyMaybe tyBool, Just False, "False <$ Just True")
]