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  }