50 lines
956 B
Go
50 lines
956 B
Go
package tst
|
|
|
|
import (
|
|
"strconv"
|
|
"testing"
|
|
)
|
|
|
|
// --- Must -----------------------------------------------------------------
|
|
|
|
func TestMust_NoError_Int(t *testing.T) {
|
|
v := Must(123, nil)(t)
|
|
AssertEqual(t, v, 123)
|
|
}
|
|
|
|
func TestMust_NoError_String(t *testing.T) {
|
|
v := Must("hello", nil)(t)
|
|
AssertEqual(t, v, "hello")
|
|
}
|
|
|
|
func TestMust_NoError_Slice(t *testing.T) {
|
|
v := Must([]int{1, 2, 3}, nil)(t)
|
|
AssertArrayEqual(t, v, []int{1, 2, 3})
|
|
}
|
|
|
|
func TestMust_NoError_Struct(t *testing.T) {
|
|
type s struct {
|
|
X int
|
|
Y string
|
|
}
|
|
v := Must(s{X: 7, Y: "abc"}, nil)(t)
|
|
AssertEqual(t, v, s{X: 7, Y: "abc"})
|
|
}
|
|
|
|
func TestMust_StrconvAtoi(t *testing.T) {
|
|
v := Must(strconv.Atoi("42"))(t)
|
|
AssertEqual(t, v, 42)
|
|
}
|
|
|
|
func TestMust_ZeroValueOnNoError(t *testing.T) {
|
|
v := Must(0, nil)(t)
|
|
AssertEqual(t, v, 0)
|
|
}
|
|
|
|
func TestMust_ReturnedFnIsNotNil(t *testing.T) {
|
|
fn := Must("anything", nil)
|
|
if fn == nil {
|
|
t.Fatal("Must should return a non-nil function")
|
|
}
|
|
}
|