2013-11-21 43 views
1

運行下面的測試時,將println語句輸出爲Gen()Gen.choose()和.oneOf()的輸出

基礎上ScalaCheck docs,我會一直期待的輸出爲:

(數字,數字)

「你好」 或 「世界」

class TestScalaCheck extends FlatSpec { 

    @author first test - https://github.com/rickynils/scalacheck/wiki/User-Guide 
    "a test" should "print out Gen.choose(1, 100)" in { 
     val myGen = for { 
      n <- Gen.choose(10,20) 
      m <- Gen.choose(2*n, 500) 
     } yield (n,m) 

     println(myGen) 

     val c = Gen.oneOf("Hello", "World") 
     println(c) 
    } 
} 
+0

謝謝你,Ash。 –

回答

5

Gen[T]是值的生成器(類型爲T),並且這是myGenc abov的類型即如果您想打印出生成器可以生成的示例值(包裝爲選項),請嘗試println(myGen.sample)println(c.sample)

+0

謝謝。文檔應該包含'sample'函數嗎?http://scalacheck.googlecode.com/svn/artifacts/1.9/doc/api/org/scalacheck/Gen$.html –

+1

這就是'object',看看'trait 'http://scalacheck.googlecode.com/svn/artifacts/1.9/doc/api/org/scalacheck/Gen.html – Noah

+1

請注意,ScalaCheck 1.9現在有點過時了。有關當前版本,請參閱http://www.scalacheck.org/download.html。有關當前文檔的鏈接,請參閱http://www.scalacheck.org/documentation.html –