私はユニットテストフレームワーク(IoCheck)を書いています。整数が偶数かどうかを返すisEven
やジェネレータのリストlist(genInt)
などのプロパティを受け入れるメソッドforAll
があります。Ioのブロックに動的引数リストを適用するにはどうすればよいですか?
構文は次のようになります。
isEven := block(i, i % 2 == 0)
forAll(isEven, list(genInt))
ないすべての整数は偶数なので、出力は次のようになります。
***Failed!
57
forAll
は、リスト内の値を格納し、発電機を呼び出しますその値をプロパティに100回適用します。プロパティがfalseを返す場合、テストケースは失敗とみなされ、問題の値が画面に出力されます。
これを行うには、forAll
は未知のアリティのブロックを受け入れ、引数のリストで呼び出す必要があります。私はこれをする方法を知らない。
注:これはIo language 'apply arguments'と同じではありません。その場合、コードでは機能は認識されますが、機能は認識されないためです。この場合、コードはどちらも認識しません。