From 679da45cc3a7b169075152cbb5ab89d869edaad5 Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Tue, 27 Jan 2026 15:19:17 +0000 Subject: [PATCH] Add basic unit tests for `Result` class --- src/util.test.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/util.test.ts b/src/util.test.ts index d6fc6aad0..4d3121cf1 100644 --- a/src/util.test.ts +++ b/src/util.test.ts @@ -563,3 +563,28 @@ test("joinAtMost - truncates list if array is > than limit", (t) => { t.assert(result.includes("test5")); t.false(result.includes("test6")); }); + +test("Result.success creates a success result", (t) => { + const result = util.Result.success("test value"); + t.true(result.isSuccess()); + t.false(result.isFailure()); + t.is(result.value, "test value"); +}); + +test("Result.failure creates a failure result", (t) => { + const error = new Error("test error"); + const result = util.Result.failure(error); + t.false(result.isSuccess()); + t.true(result.isFailure()); + t.is(result.value, error); +}); + +test("Result.orElse returns the value for a success result", (t) => { + const result = util.Result.success("success value"); + t.is(result.orElse("default value"), "success value"); +}); + +test("Result.orElse returns the default value for a failure result", (t) => { + const result = util.Result.failure(new Error("test error")); + t.is(result.orElse("default value"), "default value"); +});