...

Source file src/github.com/thoas/go-funk/scan_test.go

Documentation: github.com/thoas/go-funk

     1  package funk
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestForEach(t *testing.T) {
    10  	is := assert.New(t)
    11  
    12  	results := []int{}
    13  
    14  	ForEach([]int{1, 2, 3, 4}, func(x int) {
    15  		if x%2 == 0 {
    16  			results = append(results, x)
    17  		}
    18  	})
    19  
    20  	is.Equal(results, []int{2, 4})
    21  
    22  	mapping := map[int]string{
    23  		1: "Florent",
    24  		2: "Gilles",
    25  	}
    26  
    27  	ForEach(mapping, func(k int, v string) {
    28  		is.Equal(v, mapping[k])
    29  	})
    30  }
    31  
    32  func TestForEachRight(t *testing.T) {
    33  	is := assert.New(t)
    34  
    35  	results := []int{}
    36  
    37  	ForEachRight([]int{1, 2, 3, 4}, func(x int) {
    38  		results = append(results, x*2)
    39  	})
    40  
    41  	is.Equal(results, []int{8, 6, 4, 2})
    42  
    43  	mapping := map[int]string{
    44  		1: "Florent",
    45  		2: "Gilles",
    46  	}
    47  
    48  	mapKeys := []int{}
    49  
    50  	ForEachRight(mapping, func(k int, v string) {
    51  		is.Equal(v, mapping[k])
    52  		mapKeys = append(mapKeys, k)
    53  	})
    54  
    55  	is.Equal(len(mapKeys), 2)
    56  	is.Contains(mapKeys, 1)
    57  	is.Contains(mapKeys, 2)
    58  }
    59  
    60  func TestHead(t *testing.T) {
    61  	is := assert.New(t)
    62  
    63  	is.Equal(Head([]int{1, 2, 3, 4}), 1)
    64  }
    65  
    66  func TestLast(t *testing.T) {
    67  	is := assert.New(t)
    68  
    69  	is.Equal(Last([]int{1, 2, 3, 4}), 4)
    70  }
    71  
    72  func TestTail(t *testing.T) {
    73  	is := assert.New(t)
    74  
    75  	is.Equal(Tail([]int{}), []int{})
    76  	is.Equal(Tail([]int{1}), []int{1})
    77  	is.Equal(Tail([]int{1, 2, 3, 4}), []int{2, 3, 4})
    78  }
    79  
    80  func TestInitial(t *testing.T) {
    81  	is := assert.New(t)
    82  
    83  	is.Equal(Initial([]int{}), []int{})
    84  	is.Equal(Initial([]int{1}), []int{1})
    85  	is.Equal(Initial([]int{1, 2, 3, 4}), []int{1, 2, 3})
    86  }
    87  

View as plain text