package flag import ( "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestStringOfEnum(t *testing.T) { enum := NewEnum("a", "a", "b", "c") assert.Equal(t, "a", enum.String()) } func TestSetOfEnum(t *testing.T) { enum := NewEnum("a", "a", "b", "c") require.Error(t, enum.Set("d")) require.NoError(t, enum.Set("b")) assert.Equal(t, "b", enum.String()) } func TestTypeOfEnum(t *testing.T) { enum := NewEnum("a", "a", "b", "c") assert.Empty(t, enum.Type()) } func TestAllowedValuesOfEnum(t *testing.T) { enum := NewEnum("a", "a", "b", "c") assert.Equal(t, []string{"a", "b", "c"}, enum.AllowedValues()) }