package code import ( "github.com/stretchr/testify/assert" "testing" ) func TestNewRedeemCodeGenerator(t *testing.T) { g := RedeemCodeGenerator{} filter := make(map[string]struct{}) for i := 0; i < 10000; i++ { n := g.UnsafeNext() if _, ok := filter[n]; ok { t.Fatal("duplicate code") } else { filter[n] = struct{}{} } } } func TestRedeemCodeGenerator_IsValid(t *testing.T) { g := RedeemCodeGenerator{} assert.Error(t, g.IsValid("asdasdoo")) assert.Error(t, g.IsValid("QWE")) assert.NoError(t, g.IsValid(g.UnsafeNext())) }