Skip to content

Commit

Permalink
test: add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
reedom committed Mar 6, 2023
1 parent 57b22e9 commit ca7f01c
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 2 deletions.
4 changes: 2 additions & 2 deletions pkg/generator/model/enums.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func NewDstVarStyleFromValue(v string) (DstVarStyle, bool) {
return style, true
}
}
return DstVarStyle(""), false
return "", false
}

// MatchRule represents the field matching rule.
Expand Down Expand Up @@ -58,5 +58,5 @@ func NewMatchRuleFromValue(v string) (MatchRule, bool) {
return rule, true
}
}
return MatchRule(""), false
return "", false
}
70 changes: 70 additions & 0 deletions pkg/generator/model/enums_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package model_test

import (
"testing"

"github.com/reedom/convergen/pkg/generator/model"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestDstVarStyle(t *testing.T) {
t.Run("String", func(t *testing.T) {
expected := "return"
actual := model.DstVarReturn.String()
assert.Equal(t, expected, actual)

expected = "arg"
actual = model.DstVarArg.String()
assert.Equal(t, expected, actual)
})

t.Run("DstVarStyleValues", func(t *testing.T) {
expected := []model.DstVarStyle{model.DstVarReturn, model.DstVarArg}
actual := model.DstVarStyleValues
assert.Equal(t, expected, actual)
})

t.Run("NewDstVarStyleFromValue", func(t *testing.T) {
expected := model.DstVarReturn
actual, ok := model.NewDstVarStyleFromValue("return")
require.True(t, ok)
assert.Equal(t, expected, actual)

expected = model.DstVarArg
actual, ok = model.NewDstVarStyleFromValue("arg")
require.True(t, ok)
assert.Equal(t, expected, actual)

_, ok = model.NewDstVarStyleFromValue("invalid")
require.False(t, ok)
})
}

func TestMatchRuleValues(t *testing.T) {
t.Run("MatchRuleValues", func(t *testing.T) {
assert.ElementsMatch(t, []model.MatchRule{
model.MatchRuleName,
model.MatchRuleTag,
model.MatchRuleNone,
}, model.MatchRuleValues)
})

t.Run("NewMatchRuleFromValue", func(t *testing.T) {
rule, ok := model.NewMatchRuleFromValue("name")
assert.True(t, ok)
assert.Equal(t, model.MatchRuleName, rule)

rule, ok = model.NewMatchRuleFromValue("tag")
assert.True(t, ok)
assert.Equal(t, model.MatchRuleTag, rule)

rule, ok = model.NewMatchRuleFromValue("none")
assert.True(t, ok)
assert.Equal(t, model.MatchRuleNone, rule)

rule, ok = model.NewMatchRuleFromValue("invalid")
assert.False(t, ok)
assert.Equal(t, model.MatchRule(""), rule)
})
}

0 comments on commit ca7f01c

Please sign in to comment.