{-# 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
]