diff options
| author | EuAndreh <eu@euandre.org> | 2025-02-11 11:50:58 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2025-02-11 11:50:58 -0300 |
| commit | 0ab6903f1d2a2894baff6a81615f3f58ea8fd2ad (patch) | |
| tree | 0df992d55dbee44ede945cb3cef21db1c6900715 | |
| parent | src/gobang.go: Add generic function Must() (diff) | |
| download | gobang-0ab6903f1d2a2894baff6a81615f3f58ea8fd2ad.tar.gz gobang-0ab6903f1d2a2894baff6a81615f3f58ea8fd2ad.tar.xz | |
src/gobang.go: Add PanicIf() companion to Must()
| -rw-r--r-- | src/gobang.go | 5 | ||||
| -rw-r--r-- | tests/gobang.go | 22 |
2 files changed, 26 insertions, 1 deletions
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() |
