github.com/wangyougui/gf/v2@v2.6.5/text/gstr/gstr_z_unit_list_test.go (about)

     1  // Copyright GoFrame Author(https://goframe.org). All Rights Reserved.
     2  //
     3  // This Source Code Form is subject to the terms of the MIT License.
     4  // If a copy of the MIT was not distributed with this file,
     5  // You can obtain one at https://github.com/wangyougui/gf.
     6  
     7  // go test *.go -bench=".*"
     8  
     9  package gstr_test
    10  
    11  import (
    12  	"testing"
    13  
    14  	"github.com/wangyougui/gf/v2/test/gtest"
    15  	"github.com/wangyougui/gf/v2/text/gstr"
    16  )
    17  
    18  func Test_List2(t *testing.T) {
    19  	gtest.C(t, func(t *gtest.T) {
    20  		p1, p2 := gstr.List2("1:2", ":")
    21  		t.Assert(p1, "1")
    22  		t.Assert(p2, "2")
    23  	})
    24  	gtest.C(t, func(t *gtest.T) {
    25  		p1, p2 := gstr.List2("1:", ":")
    26  		t.Assert(p1, "1")
    27  		t.Assert(p2, "")
    28  	})
    29  	gtest.C(t, func(t *gtest.T) {
    30  		p1, p2 := gstr.List2("1", ":")
    31  		t.Assert(p1, "1")
    32  		t.Assert(p2, "")
    33  	})
    34  	gtest.C(t, func(t *gtest.T) {
    35  		p1, p2 := gstr.List2("", ":")
    36  		t.Assert(p1, "")
    37  		t.Assert(p2, "")
    38  	})
    39  	gtest.C(t, func(t *gtest.T) {
    40  		p1, p2 := gstr.List2("1:2:3", ":")
    41  		t.Assert(p1, "1")
    42  		t.Assert(p2, "2:3")
    43  	})
    44  }
    45  
    46  func Test_ListAndTrim2(t *testing.T) {
    47  	gtest.C(t, func(t *gtest.T) {
    48  		p1, p2 := gstr.ListAndTrim2("1::2", ":")
    49  		t.Assert(p1, "1")
    50  		t.Assert(p2, "2")
    51  	})
    52  	gtest.C(t, func(t *gtest.T) {
    53  		p1, p2 := gstr.ListAndTrim2("1::", ":")
    54  		t.Assert(p1, "1")
    55  		t.Assert(p2, "")
    56  	})
    57  	gtest.C(t, func(t *gtest.T) {
    58  		p1, p2 := gstr.ListAndTrim2("1:", ":")
    59  		t.Assert(p1, "1")
    60  		t.Assert(p2, "")
    61  	})
    62  	gtest.C(t, func(t *gtest.T) {
    63  		p1, p2 := gstr.ListAndTrim2("", ":")
    64  		t.Assert(p1, "")
    65  		t.Assert(p2, "")
    66  	})
    67  	gtest.C(t, func(t *gtest.T) {
    68  		p1, p2 := gstr.ListAndTrim2("1::2::3", ":")
    69  		t.Assert(p1, "1")
    70  		t.Assert(p2, "2:3")
    71  	})
    72  }
    73  
    74  func Test_List3(t *testing.T) {
    75  	gtest.C(t, func(t *gtest.T) {
    76  		p1, p2, p3 := gstr.List3("1:2:3", ":")
    77  		t.Assert(p1, "1")
    78  		t.Assert(p2, "2")
    79  		t.Assert(p3, "3")
    80  	})
    81  	gtest.C(t, func(t *gtest.T) {
    82  		p1, p2, p3 := gstr.List3("1:2:", ":")
    83  		t.Assert(p1, "1")
    84  		t.Assert(p2, "2")
    85  		t.Assert(p3, "")
    86  	})
    87  	gtest.C(t, func(t *gtest.T) {
    88  		p1, p2, p3 := gstr.List3("1:2", ":")
    89  		t.Assert(p1, "1")
    90  		t.Assert(p2, "2")
    91  		t.Assert(p3, "")
    92  	})
    93  	gtest.C(t, func(t *gtest.T) {
    94  		p1, p2, p3 := gstr.List3("1:", ":")
    95  		t.Assert(p1, "1")
    96  		t.Assert(p2, "")
    97  		t.Assert(p3, "")
    98  	})
    99  	gtest.C(t, func(t *gtest.T) {
   100  		p1, p2, p3 := gstr.List3("1", ":")
   101  		t.Assert(p1, "1")
   102  		t.Assert(p2, "")
   103  		t.Assert(p3, "")
   104  	})
   105  	gtest.C(t, func(t *gtest.T) {
   106  		p1, p2, p3 := gstr.List3("", ":")
   107  		t.Assert(p1, "")
   108  		t.Assert(p2, "")
   109  		t.Assert(p3, "")
   110  	})
   111  	gtest.C(t, func(t *gtest.T) {
   112  		p1, p2, p3 := gstr.List3("1:2:3:4", ":")
   113  		t.Assert(p1, "1")
   114  		t.Assert(p2, "2")
   115  		t.Assert(p3, "3:4")
   116  	})
   117  }
   118  
   119  func Test_ListAndTrim3(t *testing.T) {
   120  	gtest.C(t, func(t *gtest.T) {
   121  		p1, p2, p3 := gstr.ListAndTrim3("1::2:3", ":")
   122  		t.Assert(p1, "1")
   123  		t.Assert(p2, "2")
   124  		t.Assert(p3, "3")
   125  	})
   126  	gtest.C(t, func(t *gtest.T) {
   127  		p1, p2, p3 := gstr.ListAndTrim3("1::2:", ":")
   128  		t.Assert(p1, "1")
   129  		t.Assert(p2, "2")
   130  		t.Assert(p3, "")
   131  	})
   132  	gtest.C(t, func(t *gtest.T) {
   133  		p1, p2, p3 := gstr.ListAndTrim3("1::2", ":")
   134  		t.Assert(p1, "1")
   135  		t.Assert(p2, "2")
   136  		t.Assert(p3, "")
   137  	})
   138  	gtest.C(t, func(t *gtest.T) {
   139  		p1, p2, p3 := gstr.ListAndTrim3("1::", ":")
   140  		t.Assert(p1, "1")
   141  		t.Assert(p2, "")
   142  		t.Assert(p3, "")
   143  	})
   144  	gtest.C(t, func(t *gtest.T) {
   145  		p1, p2, p3 := gstr.ListAndTrim3("1::", ":")
   146  		t.Assert(p1, "1")
   147  		t.Assert(p2, "")
   148  		t.Assert(p3, "")
   149  	})
   150  	gtest.C(t, func(t *gtest.T) {
   151  		p1, p2, p3 := gstr.ListAndTrim3("", ":")
   152  		t.Assert(p1, "")
   153  		t.Assert(p2, "")
   154  		t.Assert(p3, "")
   155  	})
   156  }