From 0ab6903f1d2a2894baff6a81615f3f58ea8fd2ad Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Tue, 11 Feb 2025 11:50:58 -0300 Subject: src/gobang.go: Add PanicIf() companion to Must() --- src/gobang.go | 5 ++++- tests/gobang.go | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/gobang.go b/src/gobang.go index 73f42c5..2985d19 100644 --- a/src/gobang.go +++ b/src/gobang.go @@ -65,11 +65,14 @@ var ( -func Must[T any](x T, err error) T { +func PanicIf(err error) { if err != nil { panic(err) } +} +func Must[T any](x T, err error) T { + PanicIf(err) return x } diff --git a/tests/gobang.go b/tests/gobang.go index c1286cd..32f6d99 100644 --- a/tests/gobang.go +++ b/tests/gobang.go @@ -15,6 +15,27 @@ import ( +func test_PanicIf() { + TestStart("PanicIf()") + + myErr := errors.New("test error") + + + Testing("noop when error is nil", func() { + var err error + PanicIf(err) + PanicIf(nil) + }) + + Testing("panic when we have an error", func() { + defer func() { + TAssertEqual(recover(), myErr) + }() + PanicIf(myErr) + TErrorNil(nil) + }) +} + func test_Must() { TestStart("Must()") @@ -1333,6 +1354,7 @@ func test_setHostname() { func MainTest() { Init() + test_PanicIf() test_Must() test_Clamp() test_ValidateSQLTablePrefix() -- cgit v1.2.3