MCPcopy
hub / github.com/duke-git/lancet / TestSliceIterator

Function TestSliceIterator

iterator/iterator_test.go:14–83  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

12)
13
14func TestSliceIterator(t *testing.T) {
15 t.Parallel()
16
17 assert := internal.NewAssert(t, "TestSliceIterator")
18
19 // HashNext
20 t.Run("slice iterator HasNext: ", func(t *testing.T) {
21 iter1 := FromSlice([]int{1, 2, 3, 4})
22 for {
23 item, _ := iter1.Next()
24
25 if item == 4 {
26 assert.Equal(false, iter1.HasNext())
27 break
28 } else {
29 assert.Equal(true, iter1.HasNext())
30 }
31 }
32
33 iter2 := FromSlice([]int{})
34 assert.Equal(false, iter2.HasNext())
35 })
36
37 //Next
38 t.Run("slice iterator Next: ", func(t *testing.T) {
39 iter1 := FromSlice([]int{1, 2, 3, 4})
40 for i := 0; i < 4; i++ {
41 item, ok := iter1.Next()
42 if !ok {
43 break
44 }
45 assert.Equal(i+1, item)
46 }
47
48 iter2 := FromSlice([]int{})
49 _, ok := iter2.Next()
50 assert.Equal(false, ok)
51 })
52
53 // Reset
54 t.Run("slice iterator Reset: ", func(t *testing.T) {
55 iter1 := FromSlice([]int{1, 2, 3, 4})
56 for i := 0; i < 4; i++ {
57 item, ok := iter1.Next()
58 if !ok {
59 break
60 }
61 assert.Equal(i+1, item)
62 }
63
64 iter1.Reset()
65
66 for i := 0; i < 4; i++ {
67 item, ok := iter1.Next()
68 if !ok {
69 break
70 }
71 assert.Equal(i+1, item)

Callers

nothing calls this directly

Calls 6

EqualMethod · 0.95
NewAssertFunction · 0.92
FromSliceFunction · 0.70
NextMethod · 0.65
HasNextMethod · 0.65
ResetMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…