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  }