Ich brauche eine Liste von Objekten zu generieren. Jedes Objekt muss einen vorherbestimmten Wert und einen generierten Wert enthalten. Ich habe den Generator aber nicht sicher, dass dies der wahre Weg ist. Gibt es Möglichkeiten, um es lesbarer zu machen?Scalacheck Generator der Liste mit generierten Objekten
object Test {
case class A(myInt: Int, randomInt: Int)
val list = List(1, 2, 3, 4, 5)
val subListGen = Gen.someOf(list)
val randomIntGen = Gen.choose(0,10)
import scala.collection.JavaConverters._
val seqAGen: Gen[Seq[A]] = for {
subsetMyInts <- subListGen
seqOfRandomIntsWithSizeEqualGenSubList <- Gen.sequence(subsetMyInts.map(x => randomIntGen))
} yield {
subsetMyInts.zip(seqOfRandomIntsWithSizeEqualGenSubList.asScala.toList).map(x => A(x._1, x._2))
}
}
Als Arseniy bemerkt: Wenn Sie eine Art von A haben, ist es idiomatische einen Generator für diesen Typen zugeschnitten zu haben. – ppopoff