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 }