github.com/andy2046/gopie@v0.7.0/pkg/randomsequence/randomseq_test.go (about) 1 package randomsequence_test 2 3 import ( 4 bt "github.com/andy2046/bitmap" 5 . "github.com/andy2046/gopie/pkg/randomsequence" 6 "testing" 7 "time" 8 ) 9 10 func TestUnique(t *testing.T) { 11 size := uint64(^uint32(0) >> 10) // by right the size is 4294967295 but it is too slow 12 t.Log("sample size is", size) 13 btmap := bt.New(size + 1) 14 seed := uint32(time.Now().UTC().UnixNano() >> 32) 15 rnd := New(seed, seed+1) 16 for i := uint64(0); i <= size; i++ { 17 n := rnd.Next() 18 if btmap.GetBit(uint64(n)) { 19 t.Fatal("dup") 20 } 21 btmap.SetBit(uint64(n), true) 22 } 23 }