99個のHaskell問題を解いてHaskellを学び始めています。 http://www.haskell.org/haskellwiki/H-99:_Ninety-Nine_Haskell_Problems クイックチェックを使用して、各プログラム/関数のテストを書きたいと思います。
次のコードがあります。
インポート Test.QuickCheck
import Text.Printf
main = mapM_ (\(s,a) -> printf "%-25s: " s >> a) テスト
-- 1
myLast lst = 最後の lst
prop_1a xs x = myLast (xs ++ [x]) == (x::文字列)
myLast' = head . 逆行する
prop_1b xs x = myLast' (xs ++ [x]) == (x::文字列)
tests = [("1a", quickCheck prop_1a)
,(「1b」、quickCheck prop_1b)
]
myLast''、などと書くかもしれませんmyLast'''。コードを複製してプロパティをクイックチェックすることなく、これらすべてのメソッドをテストできる方法はありますか?
関連する質問: 現在、quickcheck に文字列を使用するように指示しています。さまざまなタイプをランダムに使用してテストする方法はありますか?