Created
January 24, 2012 05:39
-
-
Save rirakkumya/1668203 to your computer and use it in GitHub Desktop.
ScalaCheckGeneratorSample
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//ランダムにユーザーデータを作成 | |
//name⇒20文字以内の英字 | |
//age⇒1~100歳 | |
import org.scalacheck.Gen | |
case class User(name:String, age:Int) | |
val userGen = for{ | |
s <- Gen.choose(1,20) | |
n <- Gen.alphaStr | |
a <- Gen.choose(1,100) | |
}yield User(n.take(s),a) | |
//ランダムデータを100件作成して表示 | |
Gen.listOfN(100,userGen).sample | |
//年齢分布を高齢化 | |
for{ | |
s <- Gen.choose(1,20) | |
n <- Gen.alphaStr | |
a <- Gen.frequency((5,Gen.choose(41,100)), (3,Gen.choose(21,40)), (1,Gen.choose(1,20))) | |
}yield User(n.take(s),a) | |
//名前の選択肢を固定 | |
val aa = List("鹿目","暁美","美樹","巴") | |
val bb = List("まどか","ほむら","さやか","マミ","キュゥべえ") | |
for{ | |
n1 <- Gen.oneOf(aa) | |
n2 <- Gen.oneOf(bb) | |
a <- Gen.frequency((5,Gen.choose(41,100)), (3,Gen.choose(21,40)), (1,Gen.choose(1,20))) | |
}yield User((n1 + " " + n2),a) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://github.com/rickynils/scalacheck