github.com/viant/toolbox@v0.34.5/format/case_test.go (about) 1 package format 2 3 import ( 4 "github.com/stretchr/testify/assert" 5 "testing" 6 ) 7 8 func TestCase_To(t *testing.T) { 9 var useCases = []struct { 10 description string 11 caseFrom Case 12 caseTo Case 13 input string 14 expect string 15 }{ 16 { 17 description: "camel to uppercase", 18 input: "thisIsMyTest", 19 caseFrom: CaseLowerCamel, 20 caseTo: CaseUpper, 21 expect: "THISISMYTEST", 22 }, 23 { 24 description: "camel to lower underscore", 25 input: "thisIsMyTest", 26 caseFrom: CaseLowerCamel, 27 caseTo: CaseLowerUnderscore, 28 expect: "this_is_my_test", 29 }, 30 { 31 description: "camel to upper underscore", 32 input: "thisIsMyTest", 33 caseFrom: CaseLowerCamel, 34 caseTo: CaseUpperUnderscore, 35 expect: "THIS_IS_MY_TEST", 36 }, 37 { 38 description: "lower underscore to upper camel", 39 input: "this_is_my_test", 40 caseFrom: CaseLowerUnderscore, 41 caseTo: CaseUpperCamel, 42 expect: "ThisIsMyTest", 43 }, 44 { 45 description: "upper underscore to lower camel", 46 input: "THIS_IS_MY_TEST", 47 caseFrom: CaseUpperUnderscore, 48 caseTo: CaseLowerCamel, 49 expect: "thisIsMyTest", 50 }, 51 52 { 53 description: "upper camel to lower camel", 54 input: "ThisIsMyTest", 55 caseFrom: CaseUpperCamel, 56 caseTo: CaseLowerCamel, 57 expect: "thisIsMyTest", 58 }, 59 } 60 61 for _, useCase := range useCases { 62 actual := useCase.caseFrom.Format(useCase.input, useCase.caseTo) 63 assert.Equal(t, useCase.expect, actual, useCase.description) 64 } 65 66 } 67