-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsnake_test.go
35 lines (33 loc) · 956 Bytes
/
snake_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package stringutils
import (
"testing"
)
func TestSnakeCase(t *testing.T) {
cases := [][]string{
[]string{"testCase", "test_case"},
[]string{"TestCase", "test_case"},
[]string{"Test Case", "test_case"},
[]string{" Test Case", "test_case"},
[]string{"Test Case ", "test_case"},
[]string{" Test Case ", "test_case"},
[]string{"test-case", "test_case"},
[]string{"many-many-words", "many_many_words"},
[]string{"test", "test"},
[]string{"test_case", "test_case"},
[]string{"Test", "test"},
[]string{"", ""},
[]string{"ManyManyWords", "many_many_words"},
[]string{"manyManyWords", "many_many_words"},
[]string{"AnyKind of_string", "any_kind_of_string"},
[]string{"numbers2and55with000", "numbers_2_and_55_with_000"},
[]string{"JSONData", "json_data"},
}
for _, test := range cases {
in := test[0]
out := test[1]
result := SnakeCase(in)
if result != out {
t.Error("'" + result + "' != '" + out + "'")
}
}
}