@@ -74,10 +74,13 @@ prop_minimum = L.minimum `eqEP` T.minimum
74prop_scanl f z = L.scanl f z `eqP` (unpack . T.scanl f z)
74prop_scanl f z = L.scanl f z `eqP` (unpack . T.scanl f z)
76prop_replicate n = L.replicate n `eq` (unpack . T.replicate n)
76prop_replicate n = L.replicate n `eq` (unpack . T.replicate n)
77−prop_unfoldr f = L.unfoldr f `eq` (unpack . T.unfoldr f)
77+prop_unfoldr n = L.unfoldr f `eq` (unpack . T.unfoldr f)
78− where types = f :: Int -> Maybe (Char,Int)
78+ where f c | fromEnum c * 100 > n = Nothing
79+ | otherwise = Just (c, succ c)
79−prop_unfoldrN n f = (L.take n . L.unfoldr f) `eq` (unpack . T.unfoldrN n f)
81+prop_unfoldrN n m = (L.take n . L.unfoldr f) `eq` (unpack . T.unfoldrN n f)
80− where types = f :: Int -> Maybe (Char,Int)
82+ where f c | fromEnum c * 100 > m = Nothing
83+ | otherwise = Just (c, succ c)
82prop_take n = L.take n `eqP` (unpack . T.take n)
85prop_take n = L.take n `eqP` (unpack . T.take n)
83prop_drop n = L.drop n `eqP` (unpack . T.drop n)
86prop_drop n = L.drop n `eqP` (unpack . T.drop n)
@@ -158,8 +161,8 @@ tests = [
158 ("prop_scanl", mytest prop_scanl),
161 ("prop_scanl", mytest prop_scanl),
160 ("prop_replicate", mytest prop_replicate),
163 ("prop_replicate", mytest prop_replicate),
161−--("prop_unfoldr", mytest prop_unfoldr),
164+ ("prop_unfoldr", mytest prop_unfoldr),
162−--("prop_unfoldrN", mytest prop_unfoldrN),
165+ ("prop_unfoldrN", mytest prop_unfoldrN),
164 ("prop_take", mytest prop_take),
167 ("prop_take", mytest prop_take),
165 ("prop_drop", mytest prop_drop),
168 ("prop_drop", mytest prop_drop),