0
对于给定的名单[1..1],其中n是一个随机的正整数,我想用2个步骤生成测试数据:如何使用随机生成QuickCeck测试数据
- 洗牌列表,xs = shuffle [1..n];
- 随机将xs中的数字x变为x,其中1 < = y < = n;
经过这2个步骤后,新列表被表示为ys。
我写了一个程序。这需要Ys和输出(X,Y),该函数的原型是这样的:
solve :: [a] -> (a, a)
我想用Test.QuickCheck来测试我的程序。如何生成这样的测试数据?我认为只有在快速检查
shuffle :: [a] -> Gen [a]
功能,但我不知道如何使用它的想法。
谢谢。我创建了一个Sample数据类型,并提供了这个任意函数。像这样:https://github.com/liuxinyu95/AlgoXY/blob/algoxy/others/problems/miss-dup/MissDup.hs –
或者你使用'quickCheck $ forAll(myTest 10)$ \ x - > ... '。 – Zeta