単体テストフレームワーク ( IoCheck ) を作成しています。整数が偶数かどうかを返す などのプロパティを受け取るメソッドと、ジェネレーターのリストがありforAllます。isEvenlist(genInt)
構文は次のようになります。
isEven := block(i, i % 2 == 0)
forAll(isEven, list(genInt))
すべての整数が偶数であるとは限らないため、出力は次のようになります。
***Failed!
57
forAllジェネレーターを呼び出し、値をリストに格納し、値をプロパティに 100 回適用します。プロパティが false を返す場合、テスト ケースは失敗と見なされ、問題のある値が画面に出力されます。
これを行うにはforAll、不明なアリティのブロックを受け入れ、引数のリストを指定して呼び出す必要があります。これを行う方法がわかりません。
注: これは、 Io 言語の 'apply arguments'と同じではありません。その場合、コードはアリティを認識しますが、関数は認識しないためです。この場合、コードはどちらも認識しません。