Ejemplo n.º 1
0
    Unitable,
    Unwrapable,
)
from returns.result import Failure, Success


@pytest.mark.parametrize('container', [
    RequiresContextIOResult(lambda _: IOSuccess(1)),
    RequiresContextIOResult(lambda _: IOFailure(1)),
    RequiresContextIOResult.from_success(1),
    RequiresContextIOResult.from_failure(1),
    RequiresContextIOResult.from_result(Success(1)),
    RequiresContextIOResult.from_result(Failure(1)),
    RequiresContextIOResult.from_ioresult(IOSuccess(1)),
    RequiresContextIOResult.from_ioresult(IOFailure(1)),
    ContextIOResult.ask(),
])
@pytest.mark.parametrize('protocol', [
    Bindable,
    Mappable,
    Rescueable,
    Unwrapable,
    Altable,
    Fixable,
    Unitable,
])
def test_protocols(container, protocol):
    """Ensures that RequiresContext has all the right protocols."""
    assert isinstance(container, protocol)

Ejemplo n.º 2
0
def test_context_io_result_immutable():
    """Ensures that helper is immutable."""
    with pytest.raises(ImmutableStateError):
        ContextIOResult().abc = 1
def test_requires_context_result_immutable_copy():
    """Ensures that helper returns it self when passed to copy function."""
    context_i_o_result: ContextIOResult = ContextIOResult()
    assert context_i_o_result is copy(context_i_o_result)