module Test.NumericPrelude.Utility where import qualified Data.List as List import qualified Test.HUnit as HUnit testUnit :: (String, IO ()) -> HUnit.Test testUnit (label, check) = HUnit.TestLabel label (HUnit.TestCase check) equalLists :: Eq a => [[a]] -> Bool equalLists xs = let equalElems ys = and (zipWith (==) ys (tail ys)) && length xs == length ys in all equalElems (List.transpose xs) equalInfLists :: Eq a => Int -> [[a]] -> Bool equalInfLists n xs = equalLists (map (take n) xs)