github.com/ngicks/gokugen@v0.0.5/impl/repository/random_string_generator_test.go (about) 1 package repository_test 2 3 import ( 4 "encoding/hex" 5 "testing" 6 "time" 7 8 "github.com/ngicks/gokugen/impl/repository" 9 "github.com/ngicks/type-param-common/set" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestRandomStrGen(t *testing.T) { 14 // byteLen must be large enough so that no overlapping occurs. 15 byteLen := uint(128) 16 generator := repository.NewRandStringGenerator(time.Now().UnixMicro(), byteLen, hex.NewEncoder) 17 genStrSet := set.Set[string]{} 18 19 for i := 0; i < 1000; i++ { 20 s, err := generator.Generate() 21 if err != nil { 22 t.Fatal(err) 23 } 24 require.Len(t, s, 128*2) 25 genStrSet.Add(s) 26 } 27 require.Equal(t, genStrSet.Len(), 1000) 28 }