bytestring-0.10.4.0: tests/Rules.hs
{-# LANGUAGE CPP #-}
module Rules where
--
-- Tests to ensure rules are firing.
--
import qualified Data.ByteString.Char8 as C
import qualified Data.ByteString as P
import qualified Data.ByteString.Lazy as L
import qualified Data.ByteString.Lazy.Char8 as D
import Data.List
import Data.Char
import QuickCheckUtils
#if defined(HAVE_TEST_FRAMEWORK)
import Test.Framework.Providers.QuickCheck2
#else
import TestFramework
#endif
prop_break_C x = C.break ((==) x) `eq1` break ((==) x)
prop_break_P x = P.break ((==) x) `eq1` break ((==) x)
prop_intercalate_P c = (\s1 s2 -> P.intercalate (P.singleton c) (s1 : s2 : []))
`eq2`
(\s1 s2 -> intercalate [c] (s1 : s2 : []))
prop_break_isSpace_C = C.break isSpace `eq1` break isSpace
prop_dropWhile_isSpace_C = C.dropWhile isSpace `eq1` dropWhile isSpace
rules =
[ testProperty "break (==)" prop_break_C
, testProperty "break (==)" prop_break_P
, testProperty "break isSpace" prop_break_isSpace_C
, testProperty "dropWhile isSpace" prop_dropWhile_isSpace_C
, testProperty "intercalate" prop_intercalate_P
]