gpt4 book ai didi

haskell - 如何告诉 QuickCheck 仅生成参数的有效列表索引?

转载 作者:行者123 更新时间:2023-12-01 22:33:35 25 4
gpt4 key购买 nike

假设我想为 (!!) 函数编写一些单元测试。

my_prop xs n = ...

我想将 n 限制为仅有效索引,并且我知道我可以做类似的事情

my_prop xs n = (not.null) (drop n xs) ==> ...

但这使得绝大多数生成的案例都是无效的并被丢弃。有没有办法可以进行设置,以便 QuickCheck 首先生成 xs 列表,并使用其值仅生成 n 的有效情况?

最佳答案

使用forAll ,您可以指定 generator对于 n ,这取决于之前的参数,例如

my_prop (NonEmpty xs) = forAll (choose (0, length xs - 1)) $ \n -> ...

关于haskell - 如何告诉 QuickCheck 仅生成参数的有效列表索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com