This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user