Portability | portable |
---|---|
Stability | unstable |
Maintainer | http://homepages.nildram.co.uk/~ahey/em.png |
This module contains a large set of fairly comprehensive but extremely time consuming tests of AVL tree functions (not based on QuickCheck).
They can all be run using allTests
, or they can be run individually.
- allTests :: IO ()
- testReadPath :: IO ()
- testIsBalanced :: IO ()
- testIsSorted :: IO ()
- testSize :: IO ()
- testClipSize :: IO ()
- testWrite :: IO ()
- testPush :: IO ()
- testPushL :: IO ()
- testPushR :: IO ()
- testDelete :: IO ()
- testAssertDelL :: IO ()
- testAssertDelR :: IO ()
- testAssertPopL :: IO ()
- testPopHL :: IO ()
- testAssertPopR :: IO ()
- testAssertPop :: IO ()
- testFlatten :: IO ()
- testJoin :: IO ()
- testJoinHAVL :: IO ()
- testConcatAVL :: IO ()
- testFlatConcat :: IO ()
- testFoldr :: IO ()
- testFoldr' :: IO ()
- testFoldl :: IO ()
- testFoldl' :: IO ()
- testFoldr1 :: IO ()
- testFoldr1' :: IO ()
- testFoldl1 :: IO ()
- testFoldl1' :: IO ()
- testMapAccumL :: IO ()
- testMapAccumR :: IO ()
- testMapAccumL' :: IO ()
- testMapAccumR' :: IO ()
- testMapAccumL'' :: IO ()
- testMapAccumR'' :: IO ()
- testSplitAtL :: IO ()
- testFilterViaList :: IO ()
- testFilter :: IO ()
- testMapMaybeViaList :: IO ()
- testMapMaybe :: IO ()
- testTakeL :: IO ()
- testDropL :: IO ()
- testSplitAtR :: IO ()
- testTakeR :: IO ()
- testDropR :: IO ()
- testSpanL :: IO ()
- testTakeWhileL :: IO ()
- testDropWhileL :: IO ()
- testSpanR :: IO ()
- testTakeWhileR :: IO ()
- testDropWhileR :: IO ()
- testRotateL :: IO ()
- testRotateR :: IO ()
- testRotateByL :: IO ()
- testRotateByR :: IO ()
- testForkL :: IO ()
- testForkR :: IO ()
- testFork :: IO ()
- testTakeLE :: IO ()
- testTakeGT :: IO ()
- testTakeGE :: IO ()
- testTakeLT :: IO ()
- testUnion :: IO ()
- testDisjointUnion :: IO ()
- testUnionMaybe :: IO ()
- testIntersection :: IO ()
- testIntersectionMaybe :: IO ()
- testIntersectionAsList :: IO ()
- testIntersectionMaybeAsList :: IO ()
- testDifference :: IO ()
- testDifferenceMaybe :: IO ()
- testSymDifference :: IO ()
- testIsSubsetOf :: IO ()
- testIsSubsetOfBy :: IO ()
- testVenn :: IO ()
- testVennMaybe :: IO ()
- testCompareHeight :: IO ()
- testShowReadEq :: IO ()
- testOpenClose :: IO ()
- testDelClose :: IO ()
- testOpenLClose :: IO ()
- testOpenRClose :: IO ()
- testMoveL :: IO ()
- testMoveR :: IO ()
- testInsertL :: IO ()
- testInsertMoveL :: IO ()
- testInsertR :: IO ()
- testInsertMoveR :: IO ()
- testInsertTreeL :: IO ()
- testInsertTreeR :: IO ()
- testDelMoveL :: IO ()
- testDelMoveR :: IO ()
- testDelAllL :: IO ()
- testDelAllR :: IO ()
- testDelAllCloseL :: IO ()
- testDelAllIncCloseL :: IO ()
- testDelAllCloseR :: IO ()
- testDelAllIncCloseR :: IO ()
- testZipSize :: IO ()
- testTryOpenLE :: IO ()
- testTryOpenGE :: IO ()
- testOpenEither :: IO ()
- testBAVLtoZipper :: IO ()
Documentation
Test readPath
Test isBalanced is capable of failing for a few non-AVL trees.
Test isSorted is capable of failing for a few non-sorted trees.
Test clipSize function
testDelete :: IO ()Source
Test delete function
Test assertDelL function Also exercises: asListL
Test delR function Also exercises: asListR
Test assertPopL function Also exercises: asListL
Test popHL function This test can only be run if popHL and HAVL are not hidden. However, popHL is exercised by indirectly by testConcatAVL anyway
Test assertPopR function Also exercises: asListR
Test assertPop function
Test flatten function Also exercises: asListL,replicateAVL
Test the joinHAVL function
Test the concatAVL function.
Test the flatConcat function.
testFoldr' :: IO ()Source
Test foldr'
testFoldl' :: IO ()Source
Test foldl'
testFoldr1 :: IO ()Source
Test foldr1
Test foldr1'
testFoldl1 :: IO ()Source
Test foldl1
Test foldl1'
Test mapAccumL
Test mapAccumR
Test mapAccumL'
Test mapAccumR'
testMapAccumL'' :: IO ()Source
Test mapAccumL''
testMapAccumR'' :: IO ()Source
Test mapAccumR''
Test splitAtL function
testFilterViaList :: IO ()Source
Test the filterViaList function
testFilter :: IO ()Source
Test the filter function
testMapMaybeViaList :: IO ()Source
Test the mapMaybeViaList function
Test the mapMaybe function
Test splitAtR function
Test takeWhileL function
Test dropWhileL function
Test takeWhileR function
Test dropWhileR function
Test rotateL function
Test rotateR function
Test rotateByL function
Test rotateByR function
testTakeLE :: IO ()Source
Test takeLE function
testTakeGT :: IO ()Source
Test takeGT function
testTakeGE :: IO ()Source
Test takeGE function
testTakeLT :: IO ()Source
Test takeLT function
testDisjointUnion :: IO ()Source
Test the disjointUnion function
Test the unionMaybe function
testIntersection :: IO ()Source
Test the intersection function
testIntersectionMaybe :: IO ()Source
Test the intersectionMaybe function
testIntersectionAsList :: IO ()Source
Test the intersectionAsList function
testIntersectionMaybeAsList :: IO ()Source
Test the intersectionMaybeAsList function
Test the difference function
testDifferenceMaybe :: IO ()Source
Test the differenceMaybe function
testSymDifference :: IO ()Source
Test the symDifference function
Test the isSubsetOf function
testIsSubsetOfBy :: IO ()Source
Test the isSubsetOfBy function
Test the vennMaybe function.
testCompareHeight :: IO ()Source
Test compareHeight function
Test Show,Read,Eq instances
Test Zipper open/close
Test Zipper delClose
Test Zipper assertOpenL/close
Test Zipper assertOpenR/close
Test Zipper insertL
testInsertMoveL :: IO ()Source
Test Zipper insertMoveL
Test Zipper insertR
testInsertMoveR :: IO ()Source
Test Zipper insertMoveR
testInsertTreeL :: IO ()Source
Test Zipper insertTreeL
testInsertTreeR :: IO ()Source
Test Zipper insertTreeR
Test Zipper assertDelMoveL
Test Zipper assertDelMoveR
Test Zipper delAllL
Test Zipper delAllR
testDelAllCloseL :: IO ()Source
Test Zipper delAllCloseL
testDelAllIncCloseL :: IO ()Source
Test Zipper delAllIncCloseL
testDelAllCloseR :: IO ()Source
Test Zipper delAllCloseR
testDelAllIncCloseR :: IO ()Source
Test Zipper delAllIncCloseR
Test Zipper sizeL/sizeR/sizeZAVL
Test Zipper tryOpenLE
Test Zipper tryOpenGE
Test Zipper openEither (also tests fill and fillClose)
testBAVLtoZipper :: IO ()Source
Test anyBAVLtoEither