...

Source file src/edge-infra.dev/pkg/edge/datasync/internal/collections/collections_test.go

Documentation: edge-infra.dev/pkg/edge/datasync/internal/collections

     1  package collections
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestIndex(t *testing.T) {
    11  	var strs = []string{"peach", "apple", "pear", "plum"}
    12  
    13  	actual := Index(strs, "pear")
    14  
    15  	require.Equal(t, 2, actual)
    16  }
    17  
    18  func TestInclude(t *testing.T) {
    19  	var strs = []string{"peach", "apple", "pear", "plum"}
    20  
    21  	actual := Include(strs, "grape")
    22  
    23  	require.False(t, actual)
    24  }
    25  
    26  func TestAny(t *testing.T) {
    27  	var strs = []string{"peach", "apple", "pear", "plum"}
    28  
    29  	actual := Any(strs, func(v string) bool {
    30  		return strings.HasPrefix(v, "p")
    31  	})
    32  
    33  	require.True(t, actual)
    34  }
    35  
    36  func TestAll(t *testing.T) {
    37  	var strs = []string{"peach", "apple", "pear", "plum"}
    38  
    39  	actual := All(strs, func(v string) bool {
    40  		return strings.HasPrefix(v, "p")
    41  	})
    42  
    43  	require.False(t, actual)
    44  }
    45  
    46  func TestFilter(t *testing.T) {
    47  	var strs = []string{"peach", "apple", "pear", "plum"}
    48  
    49  	actual := Filter(strs, func(v string) bool {
    50  		return strings.Contains(v, "e")
    51  	})
    52  
    53  	require.Contains(t, actual, "peach")
    54  	require.Contains(t, actual, "apple")
    55  	require.Contains(t, actual, "pear")
    56  	require.NotContains(t, actual, "plum")
    57  }
    58  
    59  func TestMap(t *testing.T) {
    60  	var strs = []string{"peach", "apple", "pear", "plum"}
    61  
    62  	actual := Map(strs, func(v string) string {
    63  		return strings.ToUpper(v)
    64  	})
    65  
    66  	expected := []string{"PEACH", "APPLE", "PEAR", "PLUM"}
    67  	require.EqualValues(t, expected, actual)
    68  }
    69  

View as plain text