Exemplo n.º 1
0
    def test_cmp_ok(self, result):
        other: Result[int, int] = OK(1)
        assert result.ok < other.ok

        assert result != other

        assert result < other
        assert result <= other
        assert result <= OK(result.ok)

        assert other > result
        assert other >= result
        assert other >= OK(other.ok)
Exemplo n.º 2
0
    def test_map(self, result):
        ok = "ok"
        assert not isinstance(result.ok, type(ok))

        other = result.map(lambda v: ok)
        assert other != result
        assert other == OK(ok)
Exemplo n.º 3
0
    def test_bind_ok(self, result):
        ok: Result[str, str] = OK("ok")
        assert result.ok != ok.ok

        other = result.bind(lambda v: ok)
        assert other != result
        assert other == ok
Exemplo n.º 4
0
    def test_cmp_ok(self, result, value):
        other: Result[int, int] = OK(value)
        assert result.error == other.ok

        assert result != other

        assert result > other
        assert result >= other

        assert other < result
        assert other <= result
Exemplo n.º 5
0
    def test_eq(self, result, value):
        assert (result == value) is False
        assert (value == result) is False
        assert (result != value) is True
        assert (value != result) is True

        ok: Result[int, int] = OK(value)
        assert (result == ok) is True
        assert (ok == result) is True
        assert (result != ok) is False
        assert (ok != result) is False

        err: Result[int, int] = Error(value)
        assert (result == err) is False
        assert (err == result) is False
        assert (result != err) is True
        assert (err != result) is True
Exemplo n.º 6
0
 def test_flatten2(self, result):
     nested: Result[Result, Result] = OK(OK(result))
     assert nested != result
     assert nested.flatten() == result
     assert nested.flatten() == result.flatten()
     assert nested.flatten() == nested.join()
Exemplo n.º 7
0
 def result(self, value):
     return OK(value)
Exemplo n.º 8
0
 def test_bad_nesting(self, result):
     with pytest.raises(TypeError):
         OK(result)