package rng import "testing" func TestDeterministic(t *testing.T) { a := FromInt(42).New() b := FromInt(42).New() for i := 0; i < 1000; i++ { if x, y := a.Uint64(), b.Uint64(); x != y { t.Fatalf("sekvensen skiljer sig vid %d: %d != %d", i, x, y) } } } func TestDifferentSeedsDiffer(t *testing.T) { if FromInt(1).New().Uint64() == FromInt(2).New().Uint64() { t.Fatal("olika seeds gav samma första värde") } } func TestDeriveIsStableAndContextual(t *testing.T) { s := FromInt(7) if s.Derive("ticket") != s.Derive("ticket") { t.Fatal("Derive är inte deterministisk") } if s.Derive("ticket") == s.Derive("toilet") { t.Fatal("olika kontexter gav samma del-seed") } if s.Derive("ticket") == FromInt(8).Derive("ticket") { t.Fatal("olika rot-seeds gav samma del-seed") } } func TestNewSeedIsRandom(t *testing.T) { if NewSeed() == NewSeed() { t.Fatal("två NewSeed() gav samma värde") } }