@@ -144,13 +144,15 @@ prop_T_IsString = fromString `eqP` (T.unpack . fromString)
144prop_TL_IsString = fromString `eqP` (TL.unpack . fromString)
144prop_TL_IsString = fromString `eqP` (TL.unpack . fromString)
146prop_S_cons x = (x:) `eqP` (unpackS . S.cons x)
146prop_S_cons x = (x:) `eqP` (unpackS . S.cons x)
147+prop_Sf_cons p x = ((x:) . L.filter p) `eqP` (unpackS . S.cons x . S.filter p)
147prop_T_cons x = (x:) `eqP` (unpackS . T.cons x)
148prop_T_cons x = (x:) `eqP` (unpackS . T.cons x)
148prop_TL_cons x = (x:) `eqP` (unpackS . TL.cons x)
149prop_TL_cons x = (x:) `eqP` (unpackS . TL.cons x)
149prop_S_snoc x = (++ [x]) `eqP` (unpackS . (flip S.snoc) x)
150prop_S_snoc x = (++ [x]) `eqP` (unpackS . (flip S.snoc) x)
150prop_T_snoc x = (++ [x]) `eqP` (unpackS . (flip T.snoc) x)
151prop_T_snoc x = (++ [x]) `eqP` (unpackS . (flip T.snoc) x)
151prop_TL_snoc x = (++ [x]) `eqP` (unpackS . (flip TL.snoc) x)
152prop_TL_snoc x = (++ [x]) `eqP` (unpackS . (flip TL.snoc) x)
153+prop_S_append s = (s++) `eqP` (unpackS . S.append (S.streamList s))
154+prop_Sf_append p s = (L.filter p s++) `eqP` (unpackS . S.append (S.filter p $ S.streamList s))
152prop_T_append s = (s++) `eqP` (unpackS . T.append (packS s))
155prop_T_append s = (s++) `eqP` (unpackS . T.append (packS s))
153−prop_T_appendS s = (s++) `eqP` (unpackS . S.unstream . S.append (S.stream (packS s)) . S.stream)
155uncons (x:xs) = Just (x,xs)
157uncons (x:xs) = Just (x,xs)
156uncons _ = Nothing
158uncons _ = Nothing
@@ -475,13 +477,15 @@ tests = [
476 testGroup "basics" [
478 testGroup "basics" [
477 testProperty "s_cons" prop_S_cons,
479 testProperty "s_cons" prop_S_cons,
480+ testProperty "sf_cons" prop_Sf_cons,
478 testProperty "t_cons" prop_T_cons,
481 testProperty "t_cons" prop_T_cons,
479 testProperty "tl_cons" prop_TL_cons,
482 testProperty "tl_cons" prop_TL_cons,
480 testProperty "s_snoc" prop_S_snoc,
483 testProperty "s_snoc" prop_S_snoc,
481 testProperty "t_snoc" prop_T_snoc,
484 testProperty "t_snoc" prop_T_snoc,
482 testProperty "tl_snoc" prop_TL_snoc,
485 testProperty "tl_snoc" prop_TL_snoc,
486+ testProperty "s_append" prop_S_append,
487+ testProperty "sf_append" prop_Sf_append,
483 testProperty "t_append" prop_T_append,
488 testProperty "t_append" prop_T_append,
484− testProperty "t_appendS" prop_T_appendS,
485 testProperty "t_uncons" prop_T_uncons,
489 testProperty "t_uncons" prop_T_uncons,
486 testProperty "tl_uncons" prop_TL_uncons,
490 testProperty "tl_uncons" prop_TL_uncons,
487 testProperty "s_head" prop_S_head,
491 testProperty "s_head" prop_S_head,