25 lines
722 B
Kotlin
25 lines
722 B
Kotlin
package simulation
|
|
|
|
import java.util.*
|
|
import kotlin.test.Test
|
|
|
|
class SimulatorTest {
|
|
@Test
|
|
fun testStats() {
|
|
val itt = 10_000_000
|
|
val model = testSimulationModel(itt)
|
|
val simulator = Simulator.getInstance<Int>(Runtime.getRuntime().availableProcessors())
|
|
val start = System.nanoTime()
|
|
val results = simulator.doSimulation(model)
|
|
val finish = System.nanoTime()
|
|
println("${results.size} simulations performed in ${finish - start}ns (${(finish - start) / results.size}ns/simulation)")
|
|
}
|
|
}
|
|
|
|
|
|
class testSimulationModel(override val sampleSize: Int) : SimulationModel<Int> {
|
|
override fun simulate(r: Random): Int {
|
|
return r.nextInt(20) + 1
|
|
}
|
|
|
|
} |