{-# 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") ]