From 5130fc86d7015578be5ed1b5041453b9902923eb Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sun, 23 Feb 2025 09:36:18 -0300 Subject: src/gobang.go: Add TMust() --- tests/gobang.go | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'tests') diff --git a/tests/gobang.go b/tests/gobang.go index e6c4ef2..003b01d 100644 --- a/tests/gobang.go +++ b/tests/gobang.go @@ -1118,6 +1118,48 @@ func test_TErrorNil() { }) } +func test_TMust() { + TestStart("TMust()") + + myErr := errors.New("a test error") + fn := func(shouldError bool) (int, error) { + if shouldError { + return 0, myErr + } else { + return 10, nil + } + } + + Testing("noop when error is nil", func() { + n := TMust(fn(false)) + TAssertEqual(n, 10) + }) + + Testing("exit on non nil", func() { + var x int + exitFn := func(val int) { + x = val + } + + var w strings.Builder + + savedExitFn := testExitFn + savedOutput := testOutput + testExitFn = exitFn + testOutput = &w + + n := TMust(fn(true)) + testExitFn = savedExitFn + testOutput = savedOutput + + given := strings.Split(w.String(), "\n")[1] + + TAssertEqual(n, 0) + TAssertEqual(x, 100) + TAssertEqual(given, fmt.Sprintf("Unexpected error: %#v", myErr)) + }) +} + func test_SetLoggerOutput() { TestStart("SetLoggerOutput()") @@ -1514,6 +1556,7 @@ func MainTest() { test_TAssertEqualI() test_TErrorIf() test_TErrorNil() + test_TMust() test_SetLoggerOutput() test_levelFromString() test_setLogLevel() -- cgit v1.2.3