github.com/RevenueMonster/sqlike@v1.0.6/sql/util/types_test.go (about)

     1  package util
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func TestStringSlice(t *testing.T) {
    10  	slice := StringSlice{"z", "a", "e", "abc", "b", "c", "dd"}
    11  
    12  	require.Equal(t, -1, slice.IndexOf("cc"))
    13  	require.Equal(t, 1, slice.IndexOf("a"))
    14  	require.Equal(t, 4, slice.IndexOf("b"))
    15  	require.Equal(t, 5, slice.IndexOf("c"))
    16  
    17  	slice.Sort()
    18  	require.ElementsMatch(t, StringSlice{"a", "abc", "b", "c", "dd", "e", "z"}, slice)
    19  
    20  	slice.Splice(1)
    21  	require.ElementsMatch(t, StringSlice{"a", "b", "c", "dd", "e", "z"}, slice)
    22  
    23  	slice.Splice(3)
    24  	require.ElementsMatch(t, StringSlice{"a", "b", "c", "e", "z"}, slice)
    25  }