@@ -5,10 +5,12 @@ import Prelude
5
5
import Control.Monad.Eff (Eff )
6
6
import Control.Monad.Eff.Console (CONSOLE , log )
7
7
8
+ import Data.Newtype (unwrap )
8
9
import Data.Enum (class Enum , class BoundedEnum , defaultToEnum , defaultFromEnum ,
9
10
defaultCardinality , enumFromTo , enumFromThenTo , upFrom ,
10
- downFrom , toEnum )
11
+ downFrom , toEnum , fromEnum , Cardinality , cardinality )
11
12
import Data.Maybe (Maybe (..))
13
+ import Data.Either (Either (..))
12
14
13
15
import Test.Assert (ASSERT , assert )
14
16
@@ -70,3 +72,13 @@ testEnum = do
70
72
assert $ toEnum 1 == Just (Just false ) :: Maybe (Maybe Boolean )
71
73
assert $ toEnum 2 == Just (Just true ) :: Maybe (Maybe Boolean )
72
74
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