Files
goext/tst/must_test.go
T
Mikescher 02d6894ec6
Build Docker and Deploy / Run goext test-suite (push) Successful in 1m34s
[🤖] Add Unit-Tests
2026-04-27 16:31:29 +02:00

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")
}
}