1package name
2
3import (
4	"testing"
5
6	"github.com/stretchr/testify/require"
7)
8
9func Test_VarCaseSingle(t *testing.T) {
10	table := []tt{
11		{"foo_bar", "fooBar"},
12		{"admin/widget", "adminWidget"},
13		{"widget", "widget"},
14		{"widgets", "widget"},
15		{"User", "user"},
16		{"FooBar", "fooBar"},
17		{"status", "status"},
18		{"statuses", "status"},
19		{"Status", "status"},
20		{"Statuses", "status"},
21	}
22
23	for _, tt := range table {
24		t.Run(tt.act, func(st *testing.T) {
25			r := require.New(st)
26			r.Equal(tt.exp, VarCaseSingle(tt.act))
27			r.Equal(tt.exp, VarCaseSingle(tt.exp))
28		})
29	}
30}
31
32func Test_VarCasePlural(t *testing.T) {
33	table := []tt{
34		{"foo_bar", "fooBars"},
35		{"admin/widget", "adminWidgets"},
36		{"widget", "widgets"},
37		{"widgets", "widgets"},
38		{"User", "users"},
39		{"FooBar", "fooBars"},
40		{"status", "statuses"},
41		{"statuses", "statuses"},
42		{"Status", "statuses"},
43		{"Statuses", "statuses"},
44	}
45
46	for _, tt := range table {
47		t.Run(tt.act, func(st *testing.T) {
48			r := require.New(st)
49			r.Equal(tt.exp, VarCasePlural(tt.act))
50			r.Equal(tt.exp, VarCasePlural(tt.exp))
51		})
52	}
53}
54
55func Test_VarCase(t *testing.T) {
56	table := []tt{
57		{"foo_bar", "fooBar"},
58		{"admin/widget", "adminWidget"},
59		{"widget", "widget"},
60		{"widgets", "widgets"},
61		{"User", "user"},
62		{"FooBar", "fooBar"},
63		{"FooBars", "fooBars"},
64		{"status", "status"},
65		{"statuses", "statuses"},
66		{"Status", "status"},
67		{"Statuses", "statuses"},
68	}
69
70	for _, tt := range table {
71		t.Run(tt.act, func(st *testing.T) {
72			r := require.New(st)
73			r.Equal(tt.exp, VarCase(tt.act))
74			r.Equal(tt.exp, VarCase(tt.exp))
75		})
76	}
77}
78