github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/codegen/identifier_test.go (about) 1 package codegen 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestSplitToWords(tt *testing.T) { 10 t := assert.New(tt) 11 12 t.Equal([]string{}, SplitToWords("")) 13 t.Equal([]string{"lowercase"}, SplitToWords("lowercase")) 14 t.Equal([]string{"Class"}, SplitToWords("Class")) 15 t.Equal([]string{"My", "Class"}, SplitToWords("MyClass")) 16 t.Equal([]string{"My", "C"}, SplitToWords("MyC")) 17 t.Equal([]string{"HTML"}, SplitToWords("HTML")) 18 t.Equal([]string{"PDF", "Loader"}, SplitToWords("PDFLoader")) 19 t.Equal([]string{"A", "String"}, SplitToWords("AString")) 20 t.Equal([]string{"Simple", "XML", "Parser"}, SplitToWords("SimpleXMLParser")) 21 t.Equal([]string{"vim", "RPC", "Plugin"}, SplitToWords("vimRPCPlugin")) 22 t.Equal([]string{"GL", "11", "Version"}, SplitToWords("GL11Version")) 23 t.Equal([]string{"99", "Bottles"}, SplitToWords("99Bottles")) 24 t.Equal([]string{"May", "5"}, SplitToWords("May5")) 25 t.Equal([]string{"BFG", "9000"}, SplitToWords("BFG9000")) 26 t.Equal([]string{"Böse", "Überraschung"}, SplitToWords("BöseÜberraschung")) 27 t.Equal([]string{"Two", "spaces"}, SplitToWords("Two spaces")) 28 t.Equal([]string{"BadUTF8\xe2\xe2\xa1"}, SplitToWords("BadUTF8\xe2\xe2\xa1")) 29 t.Equal([]string{"snake", "case"}, SplitToWords("snake_case")) 30 t.Equal([]string{"snake", "case"}, SplitToWords("snake_ case")) 31 } 32 33 func TestToUpperCamelCase(tt *testing.T) { 34 t := assert.New(tt) 35 36 t.Equal("SnakeCase", ToUpperCamelCase("snake_case")) 37 t.Equal("IDCase", ToUpperCamelCase("id_case")) 38 } 39 40 func TestToLowerCamelCase(tt *testing.T) { 41 t := assert.New(tt) 42 43 t.Equal("snakeCase", ToLowerCamelCase("snake_case")) 44 t.Equal("idCase", ToLowerCamelCase("id_case")) 45 } 46 47 func TestToUpperSnakeCase(tt *testing.T) { 48 t := assert.New(tt) 49 50 t.Equal("SNAKE_CASE", ToUpperSnakeCase("snakeCase")) 51 t.Equal("ID_CASE", ToUpperSnakeCase("idCase")) 52 } 53 54 func TestToLowerSnakeCase(tt *testing.T) { 55 t := assert.New(tt) 56 57 t.Equal("snake_case", ToLowerSnakeCase("snakeCase")) 58 t.Equal("id_case", ToLowerSnakeCase("idCase")) 59 t.Equal("i7_case", ToLowerSnakeCase("i7Case")) 60 }