
Untitled
By: a guest on
May 12th, 2012 | syntax:
None | size: 1.33 KB | hits: 13 | expires: Never
-- properties
prop_min::Ord a => [a] -> Property
prop_min xs = (not . null) xs
==> minimum xs == (findMin $ inserts Empty xs)
prop_del::Ord a => [a] -> Property
prop_del xs = (not . null) xs && (not . null) (tail xs)
==> sort xs !! 1 == (findMin
$ deleteMin
$ inserts Empty xs)
prop_sort::Ord a => [a] -> Bool
prop_sort xs = sort xs == (fromHeap $ inserts Empty xs)
-- Actual checks. Some are quite redundant but
-- but there are so easy to create...
check_props = do
quickCheck (prop_min::[Int] -> Property)
quickCheck (prop_min::[Integer] -> Property)
quickCheck (prop_min::[Double] -> Property)
quickCheck (prop_min::[Float] -> Property)
quickCheck (prop_min::String -> Property)
quickCheck (prop_min::[Bool] -> Property)
quickCheck (prop_del::[Int] -> Property)
quickCheck (prop_del::[Integer] -> Property)
quickCheck (prop_del::[Double] -> Property)
quickCheck (prop_del::[Float] -> Property)
quickCheck (prop_del::String -> Property)
quickCheck (prop_del::[Bool] -> Property)
quickCheck (prop_sort::[Int] -> Bool)
quickCheck (prop_sort::[Integer] -> Bool)
quickCheck (prop_sort::[Double] -> Bool)
quickCheck (prop_sort::[Float] -> Bool)
quickCheck (prop_sort::String -> Bool)
quickCheck (prop_sort::[Bool] -> Bool)