-- Copyright (C) 2021 Rudy Matela -- Distributed under the 3-Clause BSD licence (see the file LICENSE). import Test main :: IO () main = mainTest tests 5040 tests :: Int -> [Bool] tests n = [ True , holds n $ \x -> iterateUntil (==) (`quot` (2 :: Int)) x == 0 , holds n $ \xs -> iterateUntil (==) (drop 1) xs == ([]::[Bool]) , holds n $ \xs ys -> length xs == length ys ==> zipWith (<>) xs ys == mzip xs (ys :: [[Int]]) , holds n $ \xs ys -> length xs >= length ys ==> zipWith (<>) xs (ys <> repeat mempty) == mzip xs (ys :: [[Int]]) ]