这是我的功能:
private def generateOneThousandRandomNumbers(listOfNumbers: List[String] = List.empty): List[String] = {
if (listOfNumbers.size == 1000) {
listOfNumbers
} else {
val nextNumber: String = Random.nextInt(10000000).toString
if (listOfNumbers.contains(nextNumber)) {
println("DUPLICATE NUMBER GENERATED: " + nextNumber)
}
generateOneThousandRandomNumbers(listOfNumbers ++ List(nextNumber))
}
}
Run Code Online (Sandbox Code Playgroud)
我有十个这样的测试:
"areUnique1" in {
val x = generateOneThousandRandomNumbers()
x.size shouldBe x.distinct.size
}
Run Code Online (Sandbox Code Playgroud)
因此,根据我的计算,通过一次测试,它应该只创建重复的 1/10,000 次运行,而通过 10 次测试,它应该只创建重复的 1/1,000 次运行。然而,它在大约 50% 的运行中创建重复项,我不确定为什么。
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |