62 lines
993 B
Go
62 lines
993 B
Go
package langext
|
|
|
|
import (
|
|
"git.blackforestbytes.com/BlackForestBytes/goext/tst"
|
|
"testing"
|
|
)
|
|
|
|
func TestIterSingleValueSeq(t *testing.T) {
|
|
seq := IterSingleValueSeq(42)
|
|
|
|
count := 0
|
|
var got int
|
|
for v := range seq {
|
|
got = v
|
|
count++
|
|
}
|
|
|
|
tst.AssertEqual(t, count, 1)
|
|
tst.AssertEqual(t, got, 42)
|
|
}
|
|
|
|
func TestIterSingleValueSeqString(t *testing.T) {
|
|
seq := IterSingleValueSeq("hello")
|
|
|
|
values := make([]string, 0)
|
|
for v := range seq {
|
|
values = append(values, v)
|
|
}
|
|
|
|
tst.AssertEqual(t, len(values), 1)
|
|
tst.AssertEqual(t, values[0], "hello")
|
|
}
|
|
|
|
func TestIterSingleValueSeq2(t *testing.T) {
|
|
seq := IterSingleValueSeq2("key", 42)
|
|
|
|
count := 0
|
|
var k string
|
|
var v int
|
|
for kk, vv := range seq {
|
|
k = kk
|
|
v = vv
|
|
count++
|
|
}
|
|
|
|
tst.AssertEqual(t, count, 1)
|
|
tst.AssertEqual(t, k, "key")
|
|
tst.AssertEqual(t, v, 42)
|
|
}
|
|
|
|
func TestIterSingleValueSeqEarlyBreak(t *testing.T) {
|
|
seq := IterSingleValueSeq(1)
|
|
|
|
count := 0
|
|
for range seq {
|
|
count++
|
|
break
|
|
}
|
|
|
|
tst.AssertEqual(t, count, 1)
|
|
}
|