でシャッフルしてテストデータを生成する方法を、私は2つの段階でテストデータを生成する:nはランダムな正の整数で与えられたリスト[1..nの]については、QuickCeck
- シャッフルリスト、xs =シャッフル[1..n];
- xsからyに番号xをランダムに変更します。1 < = y < = n;
この2つのステップの後で、新しいリストはysと表示されます。
私はプログラムを作成しました。これは、関数のプロトタイプは次のようである、YS、および出力(x、y)をとります。
solve :: [a] -> (a, a)
私は私のプログラムをテストするためにTest.QuickCheckを使用したいです。どのようにそのようなテストデータを生成するのですか? QuickCheckに機能があることがわかります
shuffle :: [a] -> Gen [a]
しかし、私はどのように使用するかについてはわかりません。
ありがとうございました。サンプルデータ型を作成し、任意の関数を提供しました。 https://github.com/liuxinyu95/AlgoXY/blob/algoxy/others/problems/miss-dup/MissDup.hs –
または、あなたは 'quickCheck $ forAll(myTest 10)$ \ x - >を使っています。 '。 – Zeta