tasty-hedgehog
这为提供了整合。
用法示例
我们将需要一些玩具示例来说明这是如何工作的。
(如果您想查看此示例来自的整个文件,其中包括所有必要的导入,则在)
我们将使用我们可以找到的最简单的属性示例:如果您反转列表,然后再次反转它,则最终得到的是您开始的列表。
如果要使用正式术语来表示,则可以说reverse函数是不合逻辑的。
为了测试这一点,我们需要一个由hedgehog生成的随机列表:
genAlphaList :: Gen String
genAlphaList =
Gen. list ( Range. linear 0 100 ) Gen. alpha
我们还需要一些东西来测试一个函数是否复杂,这听起来可能比实现更可怕:
test_involutive :: ( MonadTest m , Eq a , Show a ) => ( a -> a
评论0
最新资源