From: John Goerzen Date: Wed, 28 May 2008 10:06:37 +0000 (-0500) Subject: Added new (passing) test to compute all changes X-Git-Url: https://code.delx.au/offlineimap/commitdiff_plain/dc87fec30c6243a9f607af294a05967b9196effb Added new (passing) test to compute all changes --- diff --git a/testsrc/runtests.hs b/testsrc/runtests.hs index 8720664..fae901c 100644 --- a/testsrc/runtests.hs +++ b/testsrc/runtests.hs @@ -71,12 +71,25 @@ prop_allChangesToMaster master child = in (expectedResMaster, []) @=? (sort resMaster, resChild) +prop_allChanges :: SyncCollection Int -> SyncCollection Int -> SyncCollection Int -> Result +prop_allChanges master child lastchild = + let (resMaster, resChild) = syncThem master child lastchild + expectedResMaster = sort $ + (map CopyItem . Map.keys . Map.difference child $ Map.union master lastchild) ++ + (map DeleteItem . Map.keys . Map.intersection master $ Map.difference lastchild child) + expectedResChild = sort $ + (map CopyItem . Map.keys . Map.difference master $ Map.union child lastchild) ++ + (map DeleteItem . Map.keys . Map.intersection child $ Map.difference lastchild master) + in (expectedResMaster, expectedResChild) @=? + (sort resMaster, sort resChild) + allt = [qctest "Empty" prop_empty, qctest "Del all from child" prop_delAllFromChild, qctest "Del all from master" prop_delAllFromMaster, qctest "Add from master" prop_addFromMaster, qctest "All changes to child" prop_allChangesToChild, - qctest "All changes to master" prop_allChangesToMaster + qctest "All changes to master" prop_allChangesToMaster, + qctest "All changes" prop_allChanges ] testh = HU.runTestTT $ HU.TestList allt