github.com/searKing/golang/go@v1.2.117/strings/trim_test.go (about)

     1  // Copyright 2020 The searKing Author. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package strings_test
     6  
     7  import (
     8  	strings_ "strings"
     9  	"testing"
    10  
    11  	"github.com/searKing/golang/go/strings"
    12  )
    13  
    14  func TestSplitPrefixNumber(t *testing.T) {
    15  	for n, test := range []struct {
    16  		input  string
    17  		output []string
    18  	}{
    19  		{"21", []string{"21"}},
    20  		{"WhoAmI21", []string{"WhoAmI21"}},
    21  		{"21WhoAmI", []string{"21", "WhoAmI"}},
    22  		{"2_1WhoAmI", []string{"2_1", "WhoAmI"}},
    23  		{"0WhoAmI", []string{"0", "WhoAmI"}},
    24  		{"000WhoAmI", []string{"000", "WhoAmI"}},
    25  		{"0x10WhoAmI", []string{"0x10", "WhoAmI"}},
    26  		{"0x_1_0WhoAmI", []string{"0x_1_0", "WhoAmI"}},
    27  		{"-0x10WhoAmI", []string{"-0x10", "WhoAmI"}},
    28  		{"0377WhoAmI", []string{"0377", "WhoAmI"}},
    29  		{"0_3_7_7WhoAmI", []string{"0_3_7_7", "WhoAmI"}},
    30  		{"0o377WhoAmI", []string{"0o377", "WhoAmI"}},
    31  		{"0o_3_7_7WhoAmI", []string{"0o_3_7_7", "WhoAmI"}},
    32  		{"-0377WhoAmI", []string{"-0377", "WhoAmI"}},
    33  		{"-0o377WhoAmI", []string{"-0o377", "WhoAmI"}},
    34  		{"0WhoAmI", []string{"0", "WhoAmI"}},
    35  		{"000WhoAmI", []string{"000", "WhoAmI"}},
    36  		{"0x10WhoAmI", []string{"0x10", "WhoAmI"}},
    37  		{"0377WhoAmI", []string{"0377", "WhoAmI"}},
    38  		{"22WhoAmI", []string{"22", "WhoAmI"}},
    39  		{"23WhoAmI", []string{"23", "WhoAmI"}},
    40  		{"24WhoAmI", []string{"24", "WhoAmI"}},
    41  		{"25WhoAmI", []string{"25", "WhoAmI"}},
    42  		{"127WhoAmI", []string{"127", "WhoAmI"}},
    43  		{"-21WhoAmI", []string{"-21", "WhoAmI"}},
    44  		{"-22WhoAmI", []string{"-22", "WhoAmI"}},
    45  		{"-23WhoAmI", []string{"-23", "WhoAmI"}},
    46  		{"-24WhoAmI", []string{"-24", "WhoAmI"}},
    47  		{"-25WhoAmI", []string{"-25", "WhoAmI"}},
    48  		{"-128WhoAmI", []string{"-128", "WhoAmI"}},
    49  		{"+21WhoAmI", []string{"+21", "WhoAmI"}},
    50  		{"+22WhoAmI", []string{"+22", "WhoAmI"}},
    51  		{"+23WhoAmI", []string{"+23", "WhoAmI"}},
    52  		{"+24WhoAmI", []string{"+24", "WhoAmI"}},
    53  		{"+25WhoAmI", []string{"+25", "WhoAmI"}},
    54  		{"+127WhoAmI", []string{"+127", "WhoAmI"}},
    55  		{"2.3WhoAmI", []string{"2.3", "WhoAmI"}},
    56  		{"2.3e1WhoAmI", []string{"2.3e1", "WhoAmI"}},
    57  		{"2.3e2WhoAmI", []string{"2.3e2", "WhoAmI"}},
    58  		{"2.3p2WhoAmI", []string{"2.3p2", "WhoAmI"}},
    59  		{"2.3p+2WhoAmI", []string{"2.3p+2", "WhoAmI"}},
    60  		{"2.3p+66WhoAmI", []string{"2.3p+66", "WhoAmI"}},
    61  		{"2.3p-66WhoAmI", []string{"2.3p-66", "WhoAmI"}},
    62  		{"0x2.3p-66WhoAmI", []string{"0x2.3p-66", "WhoAmI"}},
    63  		{"2_3.4_5WhoAmI", []string{"2_3.4_5", "WhoAmI"}},
    64  	} {
    65  		out := strings.SplitPrefixNumber(test.input)
    66  		if strings_.Join(out, ",") != strings_.Join(test.output, ",") {
    67  			t.Errorf("#%d: got %v; want %v", n, out, test.output)
    68  		}
    69  	}
    70  }