@@ -1,8 +1,9 @@
1−-- | QuickCheck properties for the text library.
1+-- | General quicktest properties for the text library
3{-# LANGUAGE BangPatterns, FlexibleInstances, OverloadedStrings,
3{-# LANGUAGE BangPatterns, FlexibleInstances, OverloadedStrings,
4 ScopedTypeVariables, TypeSynonymInstances #-}
4 ScopedTypeVariables, TypeSynonymInstances #-}
5−{-# OPTIONS_GHC -fno-enable-rewrite-rules -fno-warn-missing-signatures #-}
5+{-# OPTIONS_GHC -fno-enable-rewrite-rules #-}
6+{-# OPTIONS_GHC -fno-warn-missing-signatures #-}
6module Tests.Properties
7module Tests.Properties
@@ -14,7 +15,7 @@ import Data.Bits ((.&.))
14import Data.Char (chr, isDigit, isHexDigit, isLower, isSpace, isUpper, ord)
15import Data.Char (chr, isDigit, isHexDigit, isLower, isSpace, isUpper, ord)
15import Data.Int (Int8, Int16, Int32, Int64)
16import Data.Int (Int8, Int16, Int32, Int64)
16import Data.Monoid (Monoid(..))
17import Data.Monoid (Monoid(..))
17−import Data.String (IsString(fromString))
18+import Data.String (fromString)
18import Data.Text.Encoding.Error
19import Data.Text.Encoding.Error
19import Data.Text.Foreign
20import Data.Text.Foreign
20import Data.Text.Internal.Encoding.Utf8
21import Data.Text.Internal.Encoding.Utf8
@@ -23,7 +24,7 @@ import Data.Text.Internal.Search (indices)
23import Data.Text.Lazy.Read as TL
24import Data.Text.Lazy.Read as TL
24import Data.Text.Read as T
25import Data.Text.Read as T
25import Data.Word (Word, Word8, Word16, Word32, Word64)
26import Data.Word (Word, Word8, Word16, Word32, Word64)
26−import Numeric (showEFloat, showFFloat, showGFloat, showHex)
27+import Numeric (showHex)
27import Prelude hiding (replicate)
28import Prelude hiding (replicate)
28import Test.Framework (Test, testGroup)
29import Test.Framework (Test, testGroup)
29import Test.Framework.Providers.QuickCheck2 (testProperty)
30import Test.Framework.Providers.QuickCheck2 (testProperty)
@@ -53,7 +54,6 @@ import qualified Data.Text.Lazy.Builder.RealFloat as TB
53import qualified Data.Text.Lazy.Encoding as EL
54import qualified Data.Text.Lazy.Encoding as EL
54import qualified Data.Text.Lazy.IO as TL
55import qualified Data.Text.Lazy.IO as TL
55import qualified System.IO as IO
56import qualified System.IO as IO
56−import qualified Tests.Properties.Mul as Mul
57import qualified Tests.SlowFunctions as Slow
57import qualified Tests.SlowFunctions as Slow
59t_pack_unpack = (T.unpack . T.pack) `eq` id
59t_pack_unpack = (T.unpack . T.pack) `eq` id
@@ -197,10 +197,8 @@ t_Show = show `eq` (show . T.pack)
197tl_Show = show `eq` (show . TL.pack)
197tl_Show = show `eq` (show . TL.pack)
198t_mappend s = mappend s`eqP` (unpackS . mappend (T.pack s))
198t_mappend s = mappend s`eqP` (unpackS . mappend (T.pack s))
199tl_mappend s = mappend s`eqP` (unpackS . mappend (TL.pack s))
199tl_mappend s = mappend s`eqP` (unpackS . mappend (TL.pack s))
200−t_mconcat = unsquare $
201− mconcat `eq` (unpackS . mconcat . L.map T.pack)
200+t_mconcat = mconcat `eq` (unpackS . mconcat . L.map T.pack)
202−tl_mconcat = unsquare $
203− mconcat `eq` (unpackS . mconcat . L.map TL.pack)
201+tl_mconcat = mconcat `eq` (unpackS . mconcat . L.map TL.pack)
204t_mempty = mempty == (unpackS (mempty :: T.Text))
202t_mempty = mempty == (unpackS (mempty :: T.Text))
205tl_mempty = mempty == (unpackS (mempty :: TL.Text))
203tl_mempty = mempty == (unpackS (mempty :: TL.Text))
206t_IsString = fromString `eqP` (T.unpack . fromString)
204t_IsString = fromString `eqP` (T.unpack . fromString)
@@ -264,14 +262,11 @@ s_map_s f = map f `eqP` (unpackS . S.unstream . S.map f)
264sf_map p f = (map f . L.filter p) `eqP` (unpackS . S.map f . S.filter p)
262sf_map p f = (map f . L.filter p) `eqP` (unpackS . S.map f . S.filter p)
265t_map f = map f `eqP` (unpackS . T.map f)
263t_map f = map f `eqP` (unpackS . T.map f)
266tl_map f = map f `eqP` (unpackS . TL.map f)
264tl_map f = map f `eqP` (unpackS . TL.map f)
267−s_intercalate c = unsquare $
268− L.intercalate c `eq`
265+s_intercalate c = L.intercalate c `eq`
269 (unpackS . S.intercalate (packS c) . map packS)
266 (unpackS . S.intercalate (packS c) . map packS)
270−t_intercalate c = unsquare $
271− L.intercalate c `eq`
267+t_intercalate c = L.intercalate c `eq`
272 (unpackS . T.intercalate (packS c) . map packS)
268 (unpackS . T.intercalate (packS c) . map packS)
273−tl_intercalate c = unsquare $
274− L.intercalate c `eq`
269+tl_intercalate c = L.intercalate c `eq`
275 (unpackS . TL.intercalate (TL.pack c) . map TL.pack)
270 (unpackS . TL.intercalate (TL.pack c) . map TL.pack)
276s_intersperse c = L.intersperse c `eqP`
271s_intersperse c = L.intersperse c `eqP`
277 (unpackS . S.intersperse c)
272 (unpackS . S.intersperse c)
@@ -279,14 +274,10 @@ s_intersperse_s c = L.intersperse c `eqP`
279 (unpackS . S.unstream . S.intersperse c)
274 (unpackS . S.unstream . S.intersperse c)
280sf_intersperse p c= (L.intersperse c . L.filter p) `eqP`
275sf_intersperse p c= (L.intersperse c . L.filter p) `eqP`
281 (unpackS . S.intersperse c . S.filter p)
276 (unpackS . S.intersperse c . S.filter p)
282−t_intersperse c = unsquare $
283− L.intersperse c `eqP` (unpackS . T.intersperse c)
277+t_intersperse c = L.intersperse c `eqP` (unpackS . T.intersperse c)
284−tl_intersperse c = unsquare $
285− L.intersperse c `eqP` (unpackS . TL.intersperse c)
278+tl_intersperse c = L.intersperse c `eqP` (unpackS . TL.intersperse c)
286−t_transpose = unsquare $
287− L.transpose `eq` (map unpackS . T.transpose . map packS)
279+t_transpose = L.transpose `eq` (map unpackS . T.transpose . map packS)
288−tl_transpose = unsquare $
289− L.transpose `eq` (map unpackS . TL.transpose . map TL.pack)
280+tl_transpose = L.transpose `eq` (map unpackS . TL.transpose . map TL.pack)
290t_reverse = L.reverse `eqP` (unpackS . T.reverse)
281t_reverse = L.reverse `eqP` (unpackS . T.reverse)
291tl_reverse = L.reverse `eqP` (unpackS . TL.reverse)
282tl_reverse = L.reverse `eqP` (unpackS . TL.reverse)
292t_reverse_short n = L.reverse `eqP` (unpackS . S.reverse . shorten n . S.stream)
283t_reverse_short n = L.reverse `eqP` (unpackS . S.reverse . shorten n . S.stream)
@@ -383,24 +374,17 @@ sf_foldr p f z = (L.foldr f z . L.filter p) `eqP` (S.foldr f z . S.filter p)
383 where _types = f :: Char -> Char -> Char
374 where _types = f :: Char -> Char -> Char
384t_foldr f z = L.foldr f z `eqP` T.foldr f z
375t_foldr f z = L.foldr f z `eqP` T.foldr f z
385 where _types = f :: Char -> Char -> Char
376 where _types = f :: Char -> Char -> Char
386−tl_foldr f z = unsquare $
387− L.foldr f z `eqP` TL.foldr f z
377+tl_foldr f z = L.foldr f z `eqP` TL.foldr f z
388 where _types = f :: Char -> Char -> Char
378 where _types = f :: Char -> Char -> Char
389−sf_foldr1 p f = unsquare $
390− (L.foldr1 f . L.filter p) `eqP` (S.foldr1 f . S.filter p)
379+sf_foldr1 p f = (L.foldr1 f . L.filter p) `eqP` (S.foldr1 f . S.filter p)
391t_foldr1 f = L.foldr1 f `eqP` T.foldr1 f
380t_foldr1 f = L.foldr1 f `eqP` T.foldr1 f
392−tl_foldr1 f = unsquare $
393− L.foldr1 f `eqP` TL.foldr1 f
381+tl_foldr1 f = L.foldr1 f `eqP` TL.foldr1 f
395−s_concat_s = unsquare $
396− L.concat `eq` (unpackS . S.unstream . S.concat . map packS)
383+s_concat_s = L.concat `eq` (unpackS . S.unstream . S.concat . map packS)
397−sf_concat p = unsquare $
398− (L.concat . map (L.filter p)) `eq`
384+sf_concat p = (L.concat . map (L.filter p)) `eq`
399 (unpackS . S.concat . map (S.filter p . packS))
385 (unpackS . S.concat . map (S.filter p . packS))
400−t_concat = unsquare $
401− L.concat `eq` (unpackS . T.concat . map packS)
386+t_concat = L.concat `eq` (unpackS . T.concat . map packS)
402−tl_concat = unsquare $
403− L.concat `eq` (unpackS . TL.concat . map TL.pack)
387+tl_concat = L.concat `eq` (unpackS . TL.concat . map TL.pack)
404sf_concatMap p f = unsquare $ (L.concatMap f . L.filter p) `eqP`
388sf_concatMap p f = unsquare $ (L.concatMap f . L.filter p) `eqP`
405 (unpackS . S.concatMap (packS . f) . S.filter p)
389 (unpackS . S.concatMap (packS . f) . S.filter p)
406t_concatMap f = unsquare $
390t_concatMap f = unsquare $
@@ -440,10 +424,6 @@ t_mapAccumR f z = L.mapAccumR f z `eqP` (second unpackS . T.mapAccumR f z)
440tl_mapAccumR f z = L.mapAccumR f z `eqP` (second unpackS . TL.mapAccumR f z)
424tl_mapAccumR f z = L.mapAccumR f z `eqP` (second unpackS . TL.mapAccumR f z)
441 where _types = f :: Int -> Char -> (Int,Char)
425 where _types = f :: Int -> Char -> (Int,Char)
443−tl_repeat n = (L.take m . L.repeat) `eq`
444− (unpackS . TL.take (fromIntegral m) . TL.repeat)
445− where m = fromIntegral (n :: Word8)
447replicate n l = concat (L.replicate n l)
427replicate n l = concat (L.replicate n l)
449s_replicate n = replicate m `eq`
429s_replicate n = replicate m `eq`
@@ -455,14 +435,6 @@ tl_replicate n = replicate m `eq`
455 (unpackS . TL.replicate (fromIntegral m) . packS)
435 (unpackS . TL.replicate (fromIntegral m) . packS)
456 where m = fromIntegral (n :: Word8)
436 where m = fromIntegral (n :: Word8)
458−tl_cycle n = (L.take m . L.cycle) `eq`
459− (unpackS . TL.take (fromIntegral m) . TL.cycle . packS)
460− where m = fromIntegral (n :: Word8)
462−tl_iterate f n = (L.take m . L.iterate f) `eq`
463− (unpackS . TL.take (fromIntegral m) . TL.iterate f)
464− where m = fromIntegral (n :: Word8)
466unf :: Int -> Char -> Maybe (Char, Char)
438unf :: Int -> Char -> Maybe (Char, Char)
467unf n c | fromEnum c * 100 > n = Nothing
439unf n c | fromEnum c * 100 > n = Nothing
468 | otherwise = Just (c, succ c)
440 | otherwise = Just (c, succ c)
@@ -516,10 +488,6 @@ sf_takeWhile q p = (L.takeWhile p . L.filter q) `eqP`
516 (unpackS . S.takeWhile p . S.filter q)
488 (unpackS . S.takeWhile p . S.filter q)
517t_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
489t_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
518tl_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
490tl_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
519−t_takeWhileEnd p = (L.reverse . L.takeWhile p . L.reverse) `eqP`
520− (unpackS . T.takeWhileEnd p)
521−tl_takeWhileEnd p = (L.reverse . L.takeWhile p . L.reverse) `eqP`
522− (unpackS . TL.takeWhileEnd p)
523s_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
491s_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
524s_dropWhile_s p = L.dropWhile p `eqP` (unpackS . S.unstream . S.dropWhile p)
492s_dropWhile_s p = L.dropWhile p `eqP` (unpackS . S.unstream . S.dropWhile p)
525sf_dropWhile q p = (L.dropWhile p . L.filter q) `eqP`
493sf_dropWhile q p = (L.dropWhile p . L.filter q) `eqP`
@@ -572,27 +540,24 @@ tl_groupBy p = L.groupBy p `eqP` (map unpackS . TL.groupBy p)
572t_inits = L.inits `eqP` (map unpackS . T.inits)
540t_inits = L.inits `eqP` (map unpackS . T.inits)
573tl_inits = L.inits `eqP` (map unpackS . TL.inits)
541tl_inits = L.inits `eqP` (map unpackS . TL.inits)
574t_tails = L.tails `eqP` (map unpackS . T.tails)
542t_tails = L.tails `eqP` (map unpackS . T.tails)
575−tl_tails = unsquare $
576− L.tails `eqP` (map unpackS . TL.tails)
543+tl_tails = L.tails `eqP` (map unpackS . TL.tails)
577−t_findAppendId = unsquare $ \(NotEmpty s) ts ->
544+t_findAppendId (NotEmpty s) = unsquare $ \ts ->
578 let t = T.intercalate s ts
545 let t = T.intercalate s ts
579 in all (==t) $ map (uncurry T.append) (T.breakOnAll s t)
546 in all (==t) $ map (uncurry T.append) (T.breakOnAll s t)
580−tl_findAppendId = unsquare $ \(NotEmpty s) ts ->
547+tl_findAppendId (NotEmpty s) = unsquare $ \ts ->
581 let t = TL.intercalate s ts
548 let t = TL.intercalate s ts
582 in all (==t) $ map (uncurry TL.append) (TL.breakOnAll s t)
549 in all (==t) $ map (uncurry TL.append) (TL.breakOnAll s t)
583−t_findContains = unsquare $ \(NotEmpty s) ->
584− all (T.isPrefixOf s . snd) . T.breakOnAll s . T.intercalate s
550+t_findContains (NotEmpty s) = all (T.isPrefixOf s . snd) . T.breakOnAll s .
585−tl_findContains = unsquare $ \(NotEmpty s) -> all (TL.isPrefixOf s . snd) .
552+tl_findContains (NotEmpty s) = all (TL.isPrefixOf s . snd) .
586 TL.breakOnAll s . TL.intercalate s
553 TL.breakOnAll s . TL.intercalate s
587sl_filterCount c = (L.genericLength . L.filter (==c)) `eqP` SL.countChar c
554sl_filterCount c = (L.genericLength . L.filter (==c)) `eqP` SL.countChar c
588t_findCount s = (L.length . T.breakOnAll s) `eq` T.count s
555t_findCount s = (L.length . T.breakOnAll s) `eq` T.count s
589tl_findCount s = (L.genericLength . TL.breakOnAll s) `eq` TL.count s
556tl_findCount s = (L.genericLength . TL.breakOnAll s) `eq` TL.count s
591−t_splitOn_split s = unsquare $
592− (T.splitOn s `eq` Slow.splitOn s) . T.intercalate s
558+t_splitOn_split s = (T.splitOn s `eq` Slow.splitOn s) . T.intercalate s
593−tl_splitOn_split s = unsquare $
594− ((TL.splitOn (TL.fromStrict s) . TL.fromStrict) `eq`
559+tl_splitOn_split s = ((TL.splitOn (TL.fromStrict s) . TL.fromStrict) `eq`
595− (map TL.fromStrict . T.splitOn s)) . T.intercalate s
560+ (map TL.fromStrict . T.splitOn s)) . T.intercalate s
596t_splitOn_i (NotEmpty t) = id `eq` (T.intercalate t . T.splitOn t)
561t_splitOn_i (NotEmpty t) = id `eq` (T.intercalate t . T.splitOn t)
597tl_splitOn_i (NotEmpty t) = id `eq` (TL.intercalate t . TL.splitOn t)
562tl_splitOn_i (NotEmpty t) = id `eq` (TL.intercalate t . TL.splitOn t)
@@ -634,14 +599,10 @@ t_lines' = lines' `eqP` (map unpackS . T.lines')
634t_words = L.words `eqP` (map unpackS . T.words)
599t_words = L.words `eqP` (map unpackS . T.words)
636tl_words = L.words `eqP` (map unpackS . TL.words)
601tl_words = L.words `eqP` (map unpackS . TL.words)
637−t_unlines = unsquare $
638− L.unlines `eq` (unpackS . T.unlines . map packS)
602+t_unlines = L.unlines `eq` (unpackS . T.unlines . map packS)
639−tl_unlines = unsquare $
640− L.unlines `eq` (unpackS . TL.unlines . map packS)
603+tl_unlines = L.unlines `eq` (unpackS . TL.unlines . map packS)
641−t_unwords = unsquare $
642− L.unwords `eq` (unpackS . T.unwords . map packS)
604+t_unwords = L.unwords `eq` (unpackS . T.unwords . map packS)
643−tl_unwords = unsquare $
644− L.unwords `eq` (unpackS . TL.unwords . map packS)
605+tl_unwords = L.unwords `eq` (unpackS . TL.unwords . map packS)
646s_isPrefixOf s = L.isPrefixOf s `eqP`
607s_isPrefixOf s = L.isPrefixOf s `eqP`
647 (S.isPrefixOf (S.stream $ packS s) . S.stream)
608 (S.isPrefixOf (S.stream $ packS s) . S.stream)
@@ -718,9 +679,8 @@ t_indices (NotEmpty s) = Slow.indices s `eq` indices s
718tl_indices (NotEmpty s) = lazyIndices s `eq` S.indices s
679tl_indices (NotEmpty s) = lazyIndices s `eq` S.indices s
719 where lazyIndices ss t = map fromIntegral $ Slow.indices (conc ss) (conc t)
680 where lazyIndices ss t = map fromIntegral $ Slow.indices (conc ss) (conc t)
720 conc = T.concat . TL.toChunks
681 conc = T.concat . TL.toChunks
721−t_indices_occurs = unsquare $ \(NotEmpty t) ts ->
682+t_indices_occurs (NotEmpty t) ts = let s = T.intercalate t ts
722− let s = T.intercalate t ts
723− in Slow.indices t s == indices t s
683+ in Slow.indices t s == indices t s
725-- Bit shifts.
685-- Bit shifts.
726shiftL w = forAll (choose (0,width-1)) $ \k -> Bits.shiftL w k == U.shiftL w k
686shiftL w = forAll (choose (0,width-1)) $ \k -> Bits.shiftL w k == U.shiftL w k
@@ -756,7 +716,6 @@ tb_decimal :: (Integral a, Show a) => a -> Bool
756tb_decimal = (TB.toLazyText . TB.decimal) `eq` (TL.pack . show)
716tb_decimal = (TB.toLazyText . TB.decimal) `eq` (TL.pack . show)
758tb_decimal_integer (a::Integer) = tb_decimal a
718tb_decimal_integer (a::Integer) = tb_decimal a
759−tb_decimal_integer_big (Big a) = tb_decimal a
760tb_decimal_int (a::Int) = tb_decimal a
719tb_decimal_int (a::Int) = tb_decimal a
761tb_decimal_int8 (a::Int8) = tb_decimal a
720tb_decimal_int8 (a::Int8) = tb_decimal a
762tb_decimal_int16 (a::Int16) = tb_decimal a
721tb_decimal_int16 (a::Int16) = tb_decimal a
@@ -768,11 +727,6 @@ tb_decimal_word16 (a::Word16) = tb_decimal a
768tb_decimal_word32 (a::Word32) = tb_decimal a
727tb_decimal_word32 (a::Word32) = tb_decimal a
769tb_decimal_word64 (a::Word64) = tb_decimal a
728tb_decimal_word64 (a::Word64) = tb_decimal a
771−tb_decimal_big_int (BigBounded (a::Int)) = tb_decimal a
772−tb_decimal_big_int64 (BigBounded (a::Int64)) = tb_decimal a
773−tb_decimal_big_word (BigBounded (a::Word)) = tb_decimal a
774−tb_decimal_big_word64 (BigBounded (a::Word64)) = tb_decimal a
776tb_hex :: (Integral a, Show a) => a -> Bool
730tb_hex :: (Integral a, Show a) => a -> Bool
777tb_hex = (TB.toLazyText . TB.hexadecimal) `eq` (TL.pack . flip showHex "")
731tb_hex = (TB.toLazyText . TB.hexadecimal) `eq` (TL.pack . flip showHex "")
@@ -794,21 +748,6 @@ tb_realfloat = (TB.toLazyText . TB.realFloat) `eq` (TL.pack . show)
794tb_realfloat_float (a::Float) = tb_realfloat a
748tb_realfloat_float (a::Float) = tb_realfloat a
795tb_realfloat_double (a::Double) = tb_realfloat a
749tb_realfloat_double (a::Double) = tb_realfloat a
797−showFloat :: (RealFloat a) => TB.FPFormat -> Maybe Int -> a -> ShowS
798−showFloat TB.Exponent = showEFloat
799−showFloat TB.Fixed = showFFloat
800−showFloat TB.Generic = showGFloat
802−tb_formatRealFloat :: (RealFloat a, Show a) =>
803− a -> TB.FPFormat -> Precision a -> Property
804−tb_formatRealFloat a fmt prec =
805− TB.formatRealFloat fmt p a ===
806− TB.fromString (showFloat fmt p a "")
807− where p = precision a prec
809−tb_formatRealFloat_float (a::Float) = tb_formatRealFloat a
810−tb_formatRealFloat_double (a::Double) = tb_formatRealFloat a
812-- Reading.
751-- Reading.
814t_decimal (n::Int) s =
753t_decimal (n::Int) s =
@@ -817,18 +756,16 @@ t_decimal (n::Int) s =
817tl_decimal (n::Int) s =
756tl_decimal (n::Int) s =
818 TL.signed TL.decimal (TL.pack (show n) `TL.append` t) == Right (n,t)
757 TL.signed TL.decimal (TL.pack (show n) `TL.append` t) == Right (n,t)
819 where t = TL.dropWhile isDigit s
758 where t = TL.dropWhile isDigit s
820−t_hexadecimal m s ox =
759+t_hexadecimal (n::Positive Int) s ox =
821 T.hexadecimal (T.concat [p, T.pack (showHex n ""), t]) == Right (n,t)
760 T.hexadecimal (T.concat [p, T.pack (showHex n ""), t]) == Right (n,t)
822 where t = T.dropWhile isHexDigit s
761 where t = T.dropWhile isHexDigit s
823 p = if ox then "0x" else ""
762 p = if ox then "0x" else ""
824− n = getPositive m :: Int
763+tl_hexadecimal (n::Positive Int) s ox =
825−tl_hexadecimal m s ox =
826 TL.hexadecimal (TL.concat [p, TL.pack (showHex n ""), t]) == Right (n,t)
764 TL.hexadecimal (TL.concat [p, TL.pack (showHex n ""), t]) == Right (n,t)
827 where t = TL.dropWhile isHexDigit s
765 where t = TL.dropWhile isHexDigit s
828 p = if ox then "0x" else ""
766 p = if ox then "0x" else ""
829− n = getPositive m :: Int
831−isFloaty c = c `elem` ("+-.0123456789eE" :: String)
768+isFloaty c = c `elem` "+-.0123456789eE"
833t_read_rational p tol (n::Double) s =
770t_read_rational p tol (n::Double) s =
834 case p (T.pack (show n) `T.append` t) of
771 case p (T.pack (show n) `T.append` t) of
@@ -1110,12 +1047,9 @@ tests =
1112 testGroup "unfolds" [
1049 testGroup "unfolds" [
1113− testProperty "tl_repeat" tl_repeat,
1114 testProperty "s_replicate" s_replicate,
1050 testProperty "s_replicate" s_replicate,
1115 testProperty "t_replicate" t_replicate,
1051 testProperty "t_replicate" t_replicate,
1116 testProperty "tl_replicate" tl_replicate,
1052 testProperty "tl_replicate" tl_replicate,
1117− testProperty "tl_cycle" tl_cycle,
1118− testProperty "tl_iterate" tl_iterate,
1119 testProperty "t_unfoldr" t_unfoldr,
1053 testProperty "t_unfoldr" t_unfoldr,
1120 testProperty "tl_unfoldr" tl_unfoldr,
1054 testProperty "tl_unfoldr" tl_unfoldr,
1121 testProperty "t_unfoldrN" t_unfoldrN,
1055 testProperty "t_unfoldrN" t_unfoldrN,
@@ -1146,8 +1080,6 @@ tests =
1146 testProperty "sf_takeWhile" sf_takeWhile,
1080 testProperty "sf_takeWhile" sf_takeWhile,
1147 testProperty "t_takeWhile" t_takeWhile,
1081 testProperty "t_takeWhile" t_takeWhile,
1148 testProperty "tl_takeWhile" tl_takeWhile,
1082 testProperty "tl_takeWhile" tl_takeWhile,
1149− testProperty "t_takeWhileEnd" t_takeWhileEnd,
1150− testProperty "tl_takeWhileEnd" tl_takeWhileEnd,
1151 testProperty "sf_dropWhile" sf_dropWhile,
1083 testProperty "sf_dropWhile" sf_dropWhile,
1152 testProperty "s_dropWhile" s_dropWhile,
1084 testProperty "s_dropWhile" s_dropWhile,
1153 testProperty "s_dropWhile_s" s_dropWhile_s,
1085 testProperty "s_dropWhile_s" s_dropWhile_s,
@@ -1293,16 +1225,11 @@ tests =
1293 testProperty "tb_decimal_int32" tb_decimal_int32,
1225 testProperty "tb_decimal_int32" tb_decimal_int32,
1294 testProperty "tb_decimal_int64" tb_decimal_int64,
1226 testProperty "tb_decimal_int64" tb_decimal_int64,
1295 testProperty "tb_decimal_integer" tb_decimal_integer,
1227 testProperty "tb_decimal_integer" tb_decimal_integer,
1296− testProperty "tb_decimal_integer_big" tb_decimal_integer_big,
1297 testProperty "tb_decimal_word" tb_decimal_word,
1228 testProperty "tb_decimal_word" tb_decimal_word,
1298 testProperty "tb_decimal_word8" tb_decimal_word8,
1229 testProperty "tb_decimal_word8" tb_decimal_word8,
1299 testProperty "tb_decimal_word16" tb_decimal_word16,
1230 testProperty "tb_decimal_word16" tb_decimal_word16,
1300 testProperty "tb_decimal_word32" tb_decimal_word32,
1231 testProperty "tb_decimal_word32" tb_decimal_word32,
1301− testProperty "tb_decimal_word64" tb_decimal_word64,
1232+ testProperty "tb_decimal_word64" tb_decimal_word64
1302− testProperty "tb_decimal_big_int" tb_decimal_big_int,
1303− testProperty "tb_decimal_big_word" tb_decimal_big_word,
1304− testProperty "tb_decimal_big_int64" tb_decimal_big_int64,
1305− testProperty "tb_decimal_big_word64" tb_decimal_big_word64
1307 testGroup "hexadecimal" [
1234 testGroup "hexadecimal" [
1308 testProperty "tb_hexadecimal_int" tb_hexadecimal_int,
1235 testProperty "tb_hexadecimal_int" tb_hexadecimal_int,
@@ -1319,9 +1246,7 @@ tests =
1320 testGroup "realfloat" [
1247 testGroup "realfloat" [
1321 testProperty "tb_realfloat_double" tb_realfloat_double,
1248 testProperty "tb_realfloat_double" tb_realfloat_double,
1322− testProperty "tb_realfloat_float" tb_realfloat_float,
1249+ testProperty "tb_realfloat_float" tb_realfloat_float
1323− testProperty "tb_formatRealFloat_float" tb_formatRealFloat_float,
1324− testProperty "tb_formatRealFloat_double" tb_formatRealFloat_double
1326 testProperty "tb_fromText" tb_fromText,
1251 testProperty "tb_fromText" tb_fromText,
1327 testProperty "tb_singleton" tb_singleton
1252 testProperty "tb_singleton" tb_singleton
@@ -1357,7 +1282,5 @@ tests =
1357 testProperty "t_take_drop_16" t_take_drop_16,
1282 testProperty "t_take_drop_16" t_take_drop_16,
1358 testProperty "t_use_from" t_use_from,
1283 testProperty "t_use_from" t_use_from,
1359 testProperty "t_copy" t_copy
1284 testProperty "t_copy" t_copy
1362− testGroup "mul" Mul.tests