2

おそらくばかげた質問ですが、FSCheck の特定のサイズのリストを生成するにはどうすればよいですか?

次を使用して制限できます:

let fn_of_2_check xs = (xs.Length=2) ==> fn_of_2 xs

しかし、明らかに、これは大量のリストを破棄します。

ここでfn_of_2は、長さのみのリストに対していくつかのテストを行い、or2を返します。truefalse

4

2 に答える 2

5

どうですか:

let listOfLength n = Gen.listOfLength n Arb.generate |> Arb.fromGen
Check.Quick (Prop.forAll (listOfLength 2) fn_of_2)
于 2012-03-19T13:36:03.807 に答える
2

簡単な解決策は、2 つの入力を取り、それらから 2 つの要素のリストを作成するテストを作成することです。

let fn_of_2_check x y = fn_of_2 [x; y]

ただし、2 要素リストのみの関数をテストする場合は、おそらく関数は 2 要素タプルを入力として受け取る必要があります。または、2 要素リストの動作と、それ以外の長さのリストの動作を検証するテストを作成することもできます。

(ただし、特に 2 要素リストの動作を確認したい場合は、上記が機能するはずです。)

于 2012-03-19T12:46:19.870 に答える