@@ -5,10 +5,12 @@ import Prelude
55import Control.Monad.Eff (Eff )
66import Control.Monad.Eff.Console (CONSOLE , log )
77
8+ import Data.Newtype (unwrap )
89import Data.Enum (class Enum , class BoundedEnum , defaultToEnum , defaultFromEnum ,
910 defaultCardinality , enumFromTo , enumFromThenTo , upFrom ,
10- downFrom , toEnum )
11+ downFrom , toEnum , fromEnum , Cardinality , cardinality )
1112import Data.Maybe (Maybe (..))
13+ import Data.Either (Either (..))
1214
1315import Test.Assert (ASSERT , assert )
1416
@@ -70,3 +72,13 @@ testEnum = do
7072 assert $ toEnum 1 == Just (Just false ) :: Maybe (Maybe Boolean )
7173 assert $ toEnum 2 == Just (Just true ) :: Maybe (Maybe Boolean )
7274 assert $ toEnum 3 == Nothing :: Maybe (Maybe Boolean )
75+
76+ log " BoundedEnum (Either _ _)"
77+ assert $ unwrap (cardinality :: Cardinality (Either Boolean Boolean )) == 4
78+ assert $ toEnum 0 == Just (Left false :: Either Boolean T )
79+ assert $ toEnum 1 == Just (Left true :: Either Boolean T )
80+ assert $ toEnum 3 == Just (Right B :: Either Boolean T )
81+ assert $ fromEnum (Left false :: Either Boolean T ) == 0
82+ assert $ fromEnum (Left true :: Either Boolean T ) == 1
83+ assert $ fromEnum (Right B :: Either Boolean T ) == 3
84+
0 commit comments