mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +00:00
Add tests for core:math/rand
This commit is contained in:
@@ -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.")
|
||||||
|
}
|
||||||
@@ -24,6 +24,7 @@ download_assets :: proc() {
|
|||||||
@(require) import "math/big"
|
@(require) import "math/big"
|
||||||
@(require) import "math/linalg/glsl"
|
@(require) import "math/linalg/glsl"
|
||||||
@(require) import "math/noise"
|
@(require) import "math/noise"
|
||||||
|
@(require) import "math/rand"
|
||||||
@(require) import "mem"
|
@(require) import "mem"
|
||||||
@(require) import "net"
|
@(require) import "net"
|
||||||
@(require) import "odin"
|
@(require) import "odin"
|
||||||
|
|||||||
Reference in New Issue
Block a user