diff --git a/rusty_results/tests/option/test_option_empty.py b/rusty_results/tests/option/test_option_empty.py index 441e547..410b873 100644 --- a/rusty_results/tests/option/test_option_empty.py +++ b/rusty_results/tests/option/test_option_empty.py @@ -106,3 +106,8 @@ def test_transpose(): this: Empty = Empty() assert this.transpose() == Ok(Empty()) + +def test_early_return(): + with pytest.raises(EarlyReturnException): + this: Empty = Empty() + _ = ~this diff --git a/rusty_results/tests/option/test_option_some.py b/rusty_results/tests/option/test_option_some.py index af6df23..a43f5c8 100644 --- a/rusty_results/tests/option/test_option_some.py +++ b/rusty_results/tests/option/test_option_some.py @@ -172,3 +172,8 @@ def test_transpose(option, expected_transpose): def test_transpose_type_error(): with pytest.raises(TypeError): Some(10).transpose() + + +def test_early_return(): + value = ~Some(10) + assert value == 10 diff --git a/rusty_results/tests/result/test_result_err.py b/rusty_results/tests/result/test_result_err.py index 1c6cdd9..3385805 100644 --- a/rusty_results/tests/result/test_result_err.py +++ b/rusty_results/tests/result/test_result_err.py @@ -148,3 +148,9 @@ def test_flatten(): def test_transpose(): this: Result = Err(None) assert this.transpose() == Some(Err(None)) + + +def test_early_return(): + err: Result[int, int] = Err(0) + with pytest.raises(EarlyReturnException): + _ = ~err diff --git a/rusty_results/tests/result/test_result_ok.py b/rusty_results/tests/result/test_result_ok.py index 2435688..f6cb35c 100644 --- a/rusty_results/tests/result/test_result_ok.py +++ b/rusty_results/tests/result/test_result_ok.py @@ -179,3 +179,8 @@ def test_transpose(result, expected_transpose): def test_transpose_type_error(): with pytest.raises(TypeError): Ok(10).transpose() + + +def test_early_return(): + err: Result[int, int] = Ok(0) + assert ~err == 0