aboutsummaryrefslogtreecommitdiff
path: root/options/options_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'options/options_test.go')
-rw-r--r--options/options_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/options/options_test.go b/options/options_test.go
index caeb303..84a61da 100644
--- a/options/options_test.go
+++ b/options/options_test.go
@@ -29,3 +29,43 @@ func TestMap(t *testing.T) {
AssertEqual(t, Map(None[int](), strconv.Itoa), None[string]())
AssertEqual(t, Map(Some(42), strconv.Itoa), Some("42"))
}
+
+func TestMax(t *testing.T) {
+ AssertEqual(t, Max[int](), None[int]())
+ AssertEqual(t, Max(None[int]()), None[int]())
+ AssertEqual(t, Max(None[int](), None[int]()), None[int]())
+
+ AssertEqual(t, Max(Some(5)), Some(5))
+ AssertEqual(t, Max(Some(5), None[int]()), Some(5))
+ AssertEqual(t, Max(None[int](), Some(5)), Some(5))
+
+ AssertEqual(t, Max(Some(5), Some(23)), Some(23))
+ AssertEqual(t, Max(None[int](), Some(5), Some(23)), Some(23))
+ AssertEqual(t, Max(Some(5), None[int](), Some(23)), Some(23))
+ AssertEqual(t, Max(Some(5), Some(23), None[int]()), Some(23))
+
+ AssertEqual(t, Max(Some(23), Some(5)), Some(23))
+ AssertEqual(t, Max(None[int](), Some(23), Some(5)), Some(23))
+ AssertEqual(t, Max(Some(23), None[int](), Some(5)), Some(23))
+ AssertEqual(t, Max(Some(23), Some(5), None[int]()), Some(23))
+}
+
+func TestMin(t *testing.T) {
+ AssertEqual(t, Min[int](), None[int]())
+ AssertEqual(t, Min(None[int]()), None[int]())
+ AssertEqual(t, Min(None[int](), None[int]()), None[int]())
+
+ AssertEqual(t, Min(Some(5)), Some(5))
+ AssertEqual(t, Min(Some(5), None[int]()), Some(5))
+ AssertEqual(t, Min(None[int](), Some(5)), Some(5))
+
+ AssertEqual(t, Min(Some(5), Some(23)), Some(5))
+ AssertEqual(t, Min(None[int](), Some(5), Some(23)), Some(5))
+ AssertEqual(t, Min(Some(5), None[int](), Some(23)), Some(5))
+ AssertEqual(t, Min(Some(5), Some(23), None[int]()), Some(5))
+
+ AssertEqual(t, Min(Some(23), Some(5)), Some(5))
+ AssertEqual(t, Min(None[int](), Some(23), Some(5)), Some(5))
+ AssertEqual(t, Min(Some(23), None[int](), Some(5)), Some(5))
+ AssertEqual(t, Min(Some(23), Some(5), None[int]()), Some(5))
+}