@@ -2,7 +2,7 @@ module Test.Main where
22
33import Prelude
44
5- import Control.Monad.Eff (Eff )
5+ import Control.Monad.Eff (Eff , foreachE )
66import Control.Monad.Eff.Console (CONSOLE , log )
77
88import Data.Bifoldable (class Bifoldable , bifoldl , bifoldr , bifoldMap , bifoldrDefault , bifoldlDefault , bifoldMapDefaultR , bifoldMapDefaultL )
@@ -17,7 +17,7 @@ import Data.Traversable (class Traversable, sequenceDefault, traverse, sequence,
1717
1818import Math (abs )
1919
20- import Test.Assert (ASSERT , assert )
20+ import Test.Assert (ASSERT , assert , assert' )
2121
2222foreign import arrayFrom1UpTo :: Int -> Array Int
2323
@@ -41,8 +41,9 @@ main = do
4141 log " Test foldrDefault"
4242 testFoldableFoldlDefault 20
4343
44- log " Test traversableArray instance"
45- testTraversableArrayWith 20
44+ foreachE [1 ,2 ,3 ,4 ,5 ,10 ,20 ] \i -> do
45+ log $ " Test traversableArray instance with an array of size: " <> show i
46+ testTraversableArrayWith i
4647
4748 log " Test traversableArray instance is stack safe"
4849 testTraversableArrayWith 20000
@@ -125,11 +126,14 @@ testTraversableFWith :: forall f e. (Traversable f, Eq (f Int)) =>
125126testTraversableFWith f n = do
126127 let dat = f n
127128
128- assert $ traverse Just dat == Just dat
129- assert $ traverse pure dat == [dat]
130- assert $ traverse (\x -> if x < 10 then Just x else Nothing ) dat == Nothing
131- assert $ sequence (map Just dat) == traverse Just dat
132- assert $ (traverse pure dat :: Unit -> f Int ) unit == dat
129+ assert' " traverse Just == Just" $ traverse Just dat == Just dat
130+ assert' " traverse pure == pure" $ traverse pure dat == [dat]
131+ assert' " traverse (const Nothing) == const Nothing" $
132+ traverse (const Nothing :: Int -> Maybe Int ) dat == Nothing
133+ assert' " sequence <<< map f == traverse f" $
134+ sequence (map Just dat) == traverse Just dat
135+ assert' " underlying applicative" $
136+ (traverse pure dat :: Unit -> f Int ) unit == dat
133137
134138testTraversableArrayWith :: forall eff . Int -> Eff (assert :: ASSERT | eff ) Unit
135139testTraversableArrayWith = testTraversableFWith arrayFrom1UpTo
0 commit comments