cosmos-sdk/orm/internal/fieldnames/fieldnames_test.go

44 lines
1.0 KiB
Go

package fieldnames
import (
"testing"
"google.golang.org/protobuf/reflect/protoreflect"
"gotest.tools/v3/assert"
)
func TestFieldNames(t *testing.T) {
names := []protoreflect.Name{"a", "b", "c"}
abc := "a,b,c"
f := CommaSeparatedFieldNames(abc)
assert.Equal(t, FieldNames{abc}, f)
assert.DeepEqual(t, names, f.Names())
assert.Equal(t, abc, f.String())
f = CommaSeparatedFieldNames("a, b ,c")
assert.Equal(t, FieldNames{abc}, f)
assert.DeepEqual(t, names, f.Names())
assert.Equal(t, abc, f.String())
// empty okay
f = CommaSeparatedFieldNames("")
assert.Equal(t, FieldNames{""}, f)
assert.Equal(t, 0, len(f.Names()))
assert.Equal(t, "", f.String())
f = FieldsFromNames(names)
assert.Equal(t, FieldNames{abc}, f)
assert.DeepEqual(t, names, f.Names())
assert.Equal(t, abc, f.String())
// empty okay
f = FieldsFromNames([]protoreflect.Name{})
assert.Equal(t, FieldNames{""}, f)
f = FieldsFromNames(nil)
assert.Equal(t, FieldNames{""}, f)
assert.Equal(t, 0, len(f.Names()))
assert.Equal(t, "", f.String())
}