|
647 | 647 | # test that the following is not an error (#16925)
|
648 | 648 | @test Random.seed!(m..., typemax(UInt)) === m2
|
649 | 649 | @test Random.seed!(m..., typemax(UInt128)) === m2
|
| 650 | + @test Random.seed!(m..., "a random seed") === m2 |
650 | 651 | end
|
651 | 652 | end
|
652 | 653 |
|
|
701 | 702 | end
|
702 | 703 |
|
703 | 704 | @testset "$RNG(seed) & Random.seed!(m::$RNG, seed) produce the same stream" for RNG=(MersenneTwister,Xoshiro)
|
704 |
| - seeds = Any[0, 1, 2, 10000, 10001, rand(UInt32, 8), rand(UInt128, 3)...] |
| 705 | + seeds = Any[0, 1, 2, 10000, 10001, rand(UInt32, 8), randstring(), randstring(), rand(UInt128, 3)...] |
705 | 706 | if RNG == Xoshiro
|
706 | 707 | push!(seeds, rand(UInt64, rand(1:4)))
|
707 | 708 | end
|
|
714 | 715 | end
|
715 | 716 |
|
716 | 717 | @testset "Random.seed!(seed) sets Random.GLOBAL_SEED" begin
|
717 |
| - seeds = Any[0, rand(UInt128), rand(UInt64, 4)] |
| 718 | + seeds = Any[0, rand(UInt128), rand(UInt64, 4), randstring(20)] |
718 | 719 |
|
719 | 720 | for seed=seeds
|
720 | 721 | Random.seed!(seed)
|
|
923 | 924 | @test string(m) == "MersenneTwister(-3)"
|
924 | 925 | Random.seed!(m, typemin(Int8))
|
925 | 926 | @test string(m) == "MersenneTwister(-128)"
|
| 927 | + |
| 928 | + # string seeds |
| 929 | + Random.seed!(m, "seed 1") |
| 930 | + x = rand(m) |
| 931 | + @test string(m) == "MersenneTwister(\"seed 1\")" |
| 932 | + @test x == rand(MersenneTwister("seed 1")) |
926 | 933 | end
|
927 | 934 |
|
928 | 935 | @testset "RandomDevice" begin
|
@@ -1179,4 +1186,8 @@ end
|
1179 | 1186 | hash32 = Random.hash_seed(seed32)
|
1180 | 1187 | @test Random.hash_seed(map(UInt64, seed32)) == hash32
|
1181 | 1188 | @test hash32 ∉ keys(vseeds)
|
| 1189 | + |
| 1190 | + seed_str = randstring() |
| 1191 | + seed_gstr = GenericString(seed_str) |
| 1192 | + @test Random.hash_seed(seed_str) == Random.hash_seed(seed_gstr) |
1182 | 1193 | end
|
0 commit comments