github.com/alimy/mir/v4@v4.1.0/internal/naming/naming_test.go (about) 1 // Copyright 2020 Michael Li <alimy@gility.net>. All rights reserved. 2 // Use of this source code is governed by Apache License 2.0 that 3 // can be found in the LICENSE file. 4 5 package naming 6 7 import "testing" 8 9 func TestSnakeNamingStrategy_Naming(t *testing.T) { 10 ns := NewSnakeNamingStrategy() 11 for _, cs := range []struct { 12 name string 13 expected string 14 }{ 15 {name: "abc", expected: "abc"}, 16 {name: "Abc", expected: "abc"}, 17 {name: "HostName", expected: "host_name"}, 18 {name: "Host_Name", expected: "host_name"}, 19 {name: "RESTfulAPI", expected: "res_tful_api"}, 20 {name: "HTTPS_API", expected: "https_api"}, 21 {name: "PKG_Name", expected: "pkg_name"}, 22 {name: "API", expected: "api"}, 23 {name: "HTTP", expected: "http"}, 24 } { 25 result := ns.Naming(cs.name) 26 if result != cs.expected { 27 t.Errorf("give:%s expected:%s result:%s", cs.name, cs.expected, result) 28 } 29 } 30 } 31 32 func TestSimpleNamingStrategy_Naming(t *testing.T) { 33 ns := NewSimpleNamingStrategy() 34 for _, cs := range []struct { 35 name string 36 expected string 37 }{ 38 {name: "abc", expected: "abc"}, 39 {name: "Abc", expected: "abc"}, 40 {name: "HostName", expected: "host_name"}, 41 {name: "Host_Name", expected: "host__name"}, 42 {name: "RESTfulAPI", expected: "r_e_s_tful_a_p_i"}, 43 {name: "HTTPS_API", expected: "h_t_t_p_s__a_p_i"}, 44 {name: "PKG_Name", expected: "p_k_g__name"}, 45 {name: "API", expected: "a_p_i"}, 46 {name: "HTTP", expected: "h_t_t_p"}, 47 } { 48 result := ns.Naming(cs.name) 49 if result != cs.expected { 50 t.Errorf("give:%s expected:%s result:%s", cs.name, cs.expected, result) 51 } 52 } 53 }