Repository navigation
Expand file tree
/
Copy pathselect_test.go
More file actions
96 lines (64 loc) · 2.42 KB
/
Copy pathselect_test.go
File metadata and controls
96 lines (64 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package angols_test
import (
"github.com/synesissoftware/ANGoLS/slices"
"strconv"
"strings"
"testing"
)
func Test_SelectSliceOfInt_1(t *testing.T) {
input, err := slices.GenerateSliceOfInt(10, func(index int) (int, error) { return index, nil })
if err != nil {
t.Errorf("GenerateSliceOfInt() failed: %v\n", err)
} else {
actual, err := slices.SelectSliceOfInt(input, func(index int, value int) (bool, error) { return 0 == (value % 2), nil })
if err != nil {
t.Errorf("SelectSliceOfInt() failed: %v\n", err)
} else {
expected := []int{0, 2, 4, 6, 8}
if !slices.EqualSliceOfInt(expected, actual) {
t.Errorf("actual value '%v' does not equal expected value '%v'", actual, expected)
}
if !slices.EqualSlice(expected, actual) {
t.Errorf("actual value '%v' does not equal expected value '%v'", actual, expected)
}
}
}
}
func Test_SelectSliceOfUint_1(t *testing.T) {
input, err := slices.GenerateSliceOfUint(10, func(index int) (uint, error) { return uint(index), nil })
if err != nil {
t.Errorf("GenerateSliceOfUint() failed: %v\n", err)
} else {
actual, err := slices.SelectSliceOfUint(input, func(index int, value uint) (bool, error) { return 0 == (value % 2), nil })
if err != nil {
t.Errorf("SelectSliceOfUint() failed: %v\n", err)
} else {
expected := []uint{0, 2, 4, 6, 8}
if !slices.EqualSliceOfUint(expected, actual) {
t.Errorf("actual value '%v' does not equal expected value '%v'", actual, expected)
}
if !slices.EqualSlice(expected, actual) {
t.Errorf("actual value '%v' does not equal expected value '%v'", actual, expected)
}
}
}
}
func Test_SelectSliceOfString_1(t *testing.T) {
input, err := slices.GenerateSliceOfString(10, func(index int) (string, error) { return strconv.Itoa(index), nil })
if err != nil {
t.Errorf("GenerateSliceOfString() failed: %v\n", err)
} else {
actual, err := slices.SelectSliceOfString(input, func(index int, value string) (bool, error) { return strings.IndexAny(value[:1], "2457") >= 0, nil })
if err != nil {
t.Errorf("SelectSliceOfString() failed: %v\n", err)
} else {
expected := []string{"2", "4", "5", "7"}
if !slices.EqualSliceOfString(expected, actual) {
t.Errorf("actual value '%v' does not equal expected value '%v'", actual, expected)
}
if !slices.EqualSlice(expected, actual) {
t.Errorf("actual value '%v' does not equal expected value '%v'", actual, expected)
}
}
}
}