2016-04-18 9 views
0

私のScalaTestテストでは、US-ASCIIでエンコードできる文字列が必要です。 ScalaCheckで特定のCharsetでエンコードできる文字列を生成する

forAll { str: String => 
    StandardCharsets.US_ASCII.newEncoder().canEncode(str) ==> { 
    // my test code is here 
    } 
} 

が、私はエラーを取得する:文字列は、文字列のデフォルト・ジェネレータとそれを生成した後にその文字セットでエンコードすることができれば、私はチェックしてみました

Gave up after only 8 passed tests. 501 tests were discarded.

は、文字列を生成するための簡単な方法はあります特定の文字セットでエンコードできますか?チェックは米国のみのASCII文字列ので、もう本当に必要はありません

​​

注こと:あなたが唯一の有効な文字次に

val usAsciiStringGen = Gen.containerOf[Array, Char](Gen.choose[Char](0,127)).map(_.mkString) 

テストでそれを使用し発生する発電機を作成することができ

答えて

3

生成される。

+0

ここでの理解は必要ありません。上限は127ではなく128でなければなりません。 –

関連する問題