module Main where
import Prelude
import Test.QuickCheck.Instances
import Test.Tasty
import Test.Tasty.HUnit
import Test.Tasty.QuickCheck
import qualified Data.Text as A
import qualified Text.Builder as B
main =
defaultMain $
testGroup "All tests" $
[
testProperty "Packing a list of chars is isomorphic to appending a list of builders" $
\chars ->
A.pack chars ===
B.run (foldMap B.char chars)
,
testProperty "Concatting a list of texts is isomorphic to fold-mapping with builders" $
\texts ->
mconcat texts ===
B.run (foldMap B.text texts)
,
testProperty "Concatting a list of texts is isomorphic to concatting a list of builders" $
\texts ->
mconcat texts ===
B.run (mconcat (map B.text texts))
]