예제 #1
0
def test_context_result_immutable():
    """Ensures that helper is immutable."""
    with pytest.raises(ImmutableStateError):
        ContextResult().abc = 1
예제 #2
0
def test_context_result_immutable_deepcopy():
    """Ensures that helper returns it self when passed to deepcopy function."""
    context_result: ContextResult = ContextResult()
    assert context_result is deepcopy(context_result)
예제 #3
0
    Mappable,
    Rescueable,
    Unitable,
    Unwrapable,
)
from returns.result import Failure, Success


@pytest.mark.parametrize('container', [
    RequiresContextResult(lambda _: Success(1)),
    RequiresContextResult(lambda _: Failure(1)),
    RequiresContextResult.from_success(1),
    RequiresContextResult.from_failure(1),
    RequiresContextResult.from_result(Success(1)),
    RequiresContextResult.from_result(Failure(1)),
    ContextResult.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)