Repository : ssh://darcs.haskell.org//srv/darcs/packages/bytestring

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/4076c9ce0284aad58d78c31b4256545618be3e47

>---------------------------------------------------------------

commit 4076c9ce0284aad58d78c31b4256545618be3e47
Author: Duncan Coutts <[email protected]>
Date:   Mon Nov 7 11:29:00 2011 +0000

    Add tests for groupBy
    Note that it fails for Lazy.groupBy due to a chunk boundary bug.

>---------------------------------------------------------------

 tests/Properties.hs |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/tests/Properties.hs b/tests/Properties.hs
index 988d427..0237ebf 100644
--- a/tests/Properties.hs
+++ b/tests/Properties.hs
@@ -66,6 +66,7 @@ prop_nullCC         = D.null        `eq1`  C.null
 prop_reverseCC      = D.reverse     `eq1`  C.reverse
 prop_transposeCC    = D.transpose   `eq1`  C.transpose
 prop_groupCC        = D.group       `eq1`  C.group
+prop_groupByCC      = D.groupBy     `eq2`  C.groupBy
 prop_initsCC        = D.inits       `eq1`  C.inits
 prop_tailsCC        = D.tails       `eq1`  C.tails
 prop_allCC          = D.all         `eq2`  C.all
@@ -147,6 +148,7 @@ prop_reverseBP      = L.reverse     `eq1`  P.reverse
 
 prop_transposeBP    = L.transpose   `eq1`  P.transpose
 prop_groupBP        = L.group       `eq1`  P.group
+prop_groupByBP      = L.groupBy     `eq2`  P.groupBy
 prop_initsBP        = L.inits       `eq1`  P.inits
 prop_tailsBP        = L.tails       `eq1`  P.tails
 prop_allBP          = L.all         `eq2`  P.all
@@ -331,6 +333,7 @@ prop_nullBL         = L.null        `eq1` (null      :: [W] 
-> Bool)
 prop_reverseBL      = L.reverse     `eq1` (reverse   :: [W] -> [W])
 prop_transposeBL    = L.transpose   `eq1` (transpose :: [[W]] -> [[W]])
 prop_groupBL        = L.group       `eq1` (group     :: [W] -> [[W]])
+prop_groupByBL      = L.groupBy     `eq2` (groupBy   :: (W -> W -> Bool) -> 
[W] -> [[W]])
 prop_initsBL        = L.inits       `eq1` (inits     :: [W] -> [[W]])
 prop_tailsBL        = L.tails       `eq1` (tails     :: [W] -> [[W]])
 prop_allBL          = L.all         `eq2` (all       :: (W -> Bool) -> [W] -> 
Bool)
@@ -419,6 +422,7 @@ prop_nullPL       = P.null      `eq1` (null      :: [W] -> 
Bool)
 prop_reversePL    = P.reverse   `eq1` (reverse   :: [W] -> [W])
 prop_transposePL  = P.transpose `eq1` (transpose :: [[W]] -> [[W]])
 prop_groupPL      = P.group     `eq1` (group     :: [W] -> [[W]])
+prop_groupByPL    = P.groupBy   `eq2` (groupBy   :: (W -> W -> Bool) -> [W] -> 
[[W]])
 prop_initsPL      = P.inits     `eq1` (inits     :: [W] -> [[W]])
 prop_tailsPL      = P.tails     `eq1` (tails     :: [W] -> [[W]])
 prop_concatPL     = adjustSize (`div` 2) $
@@ -1049,9 +1053,9 @@ prop_unwordsBB xs =
 prop_groupBB xs   = group xs == (map P.unpack . P.group . P.pack) xs
 
 prop_groupByBB  xs = groupBy (==) xs == (map P.unpack . P.groupBy (==) . 
P.pack) xs
-prop_groupByCC  xs = groupBy (==) xs == (map C.unpack . C.groupBy (==) . 
C.pack) xs
+prop_groupBy1CC xs = groupBy (==) xs == (map C.unpack . C.groupBy (==) . 
C.pack) xs
 prop_groupBy1BB xs = groupBy (/=) xs == (map P.unpack . P.groupBy (/=) . 
P.pack) xs
-prop_groupBy1CC xs = groupBy (/=) xs == (map C.unpack . C.groupBy (/=) . 
C.pack) xs
+prop_groupBy2CC xs = groupBy (/=) xs == (map C.unpack . C.groupBy (/=) . 
C.pack) xs
 
 prop_joinBB xs ys = (concat . (intersperse ys) . lines) xs ==
                (C.unpack $ C.intercalate (C.pack ys) (C.lines (C.pack xs)))
@@ -1755,6 +1759,7 @@ bl_tests =
     ,("break",       mytest prop_breakBL)
     ,("span",        mytest prop_spanBL)
     ,("group",       mytest prop_groupBL)
+    ,("groupBy",     mytest prop_groupByBL)
     ,("inits",       mytest prop_initsBL)
     ,("tails",       mytest prop_tailsBL)
     ,("elem",        mytest prop_elemBL)
@@ -1774,6 +1779,7 @@ cc_tests =
     ,("prop_reverseCC", mytest prop_reverseCC)
     ,("prop_transposeCC", mytest prop_transposeCC)
     ,("prop_groupCC", mytest prop_groupCC)
+    ,("prop_groupByCC", mytest prop_groupByCC)
     ,("prop_initsCC", mytest prop_initsCC)
     ,("prop_tailsCC", mytest prop_tailsCC)
     ,("prop_allCC", mytest prop_allCC)
@@ -1883,6 +1889,7 @@ bp_tests =
     ,("split",       mytest prop_splitBP)
     ,("count",       mytest prop_countBP)
     ,("group",       mytest prop_groupBP)
+    ,("groupBy",     mytest prop_groupByBP)
     ,("inits",       mytest prop_initsBP)
     ,("tails",       mytest prop_tailsBP)
     ,("elem",        mytest prop_elemBP)
@@ -1962,6 +1969,7 @@ pl_tests =
     ,("break",       mytest prop_breakPL)
     ,("span",        mytest prop_spanPL)
     ,("group",       mytest prop_groupPL)
+    ,("groupBy",     mytest prop_groupByPL)
     ,("inits",       mytest prop_initsPL)
     ,("tails",       mytest prop_tailsPL)
     ,("elem",        mytest prop_elemPL)
@@ -2077,10 +2085,10 @@ bb_tests =
     ,    ("words",          mytest prop_wordsLC)
     ,    ("unwords",        mytest prop_unwordsBB)
     ,    ("group",          mytest prop_groupBB)
-    ,    ("groupBy",        mytest prop_groupByBB)
-    ,    ("groupBy",        mytest prop_groupByCC)
-    ,    ("groupBy 1",      mytest prop_groupBy1BB)
+    ,    ("groupBy 0",      mytest prop_groupByBB)
     ,    ("groupBy 1",      mytest prop_groupBy1CC)
+    ,    ("groupBy 2",      mytest prop_groupBy1BB)
+    ,    ("groupBy 3",      mytest prop_groupBy2CC)
     ,    ("join",           mytest prop_joinBB)
     ,    ("elemIndex 1",    mytest prop_elemIndex1BB)
     ,    ("elemIndex 2",    mytest prop_elemIndex2BB)



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to