Add tests for core:math/rand

This commit is contained in:
Feoramund
2024-06-15 13:50:00 -04:00
parent 1a52cf1f1c
commit aab5338134
2 changed files with 36 additions and 0 deletions
@@ -0,0 +1,35 @@
package test_core_math_rand
import "core:math/rand"
import "core:testing"
@test
test_default_rand_determinism :: proc(t: ^testing.T) {
rand.reset(13)
first_value := rand.int127()
rand.reset(13)
second_value := rand.int127()
testing.expect(t, first_value == second_value, "Context default random number generator is non-deterministic.")
}
@test
test_default_rand_determinism_user_set :: proc(t: ^testing.T) {
rng_state_1 := rand.create(13)
rng_state_2 := rand.create(13)
rng_1 := rand.default_random_generator(&rng_state_1)
rng_2 := rand.default_random_generator(&rng_state_2)
first_value, second_value: i128
{
context.random_generator = rng_1
first_value = rand.int127()
}
{
context.random_generator = rng_2
second_value = rand.int127()
}
testing.expect(t, first_value == second_value, "User-set default random number generator is non-deterministic.")
}
+1
View File
@@ -24,6 +24,7 @@ download_assets :: proc() {
@(require) import "math/big"
@(require) import "math/linalg/glsl"
@(require) import "math/noise"
@(require) import "math/rand"
@(require) import "mem"
@(require) import "net"
@(require) import "odin"