我開始通過執行99個Haskell問題來學習Haskell。 http://www.haskell.org/haskellwiki/H-99:_Ninety-Nine_Haskell_Problems我想使用quickcheck爲每個程序/函數編寫測試。避免重複的QuickCheck屬性
我有以下代碼:
import Test.QuickCheck import Text.Printf main = mapM_ (\(s,a) -> printf "%-25s: " s >> a) tests -- 1 myLast lst = last lst prop_1a xs x = myLast (xs ++ [x]) == (x::String) myLast' = head . reverse prop_1b xs x = myLast' (xs ++ [x]) == (x::String) tests = [("1a", quickCheck prop_1a) ,("1b", quickCheck prop_1b) ]
我可能會寫myLast''
,myLast'''
,等有沒有一種方法,我可以測試所有這些方法,而不必重複代碼,快速檢查屬性?
相關問題:現在,我告訴quickcheck使用字符串。有沒有辦法隨機使用不同的類型進行測試?
請_永遠_用「法」作爲同義詞「功能」 – alternative