23 lines
523 B
Go
23 lines
523 B
Go
package langext
|
|
|
|
import (
|
|
"git.blackforestbytes.com/BlackForestBytes/goext/tst"
|
|
"testing"
|
|
)
|
|
|
|
func TestFuncChain(t *testing.T) {
|
|
addOne := func(v int) int { return v + 1 }
|
|
timesTwo := func(v int) int { return v * 2 }
|
|
|
|
chained := FuncChain(addOne, timesTwo)
|
|
tst.AssertEqual(t, chained(3), 8)
|
|
}
|
|
|
|
func TestFuncChainOrder(t *testing.T) {
|
|
first := func(v string) string { return v + "A" }
|
|
second := func(v string) string { return v + "B" }
|
|
|
|
chained := FuncChain(first, second)
|
|
tst.AssertEqual(t, chained("X"), "XAB")
|
|
}
|