Beispiel #1
0
def test_eq():
    class Dummy:
        def __eq__(self, other: Any) -> bool:
            return NotImplemented

    dummy_proxy_1 = MagicProxy(Dummy())
    dummy_proxy_2 = MagicProxy(Dummy())
    assert not dummy_proxy_1._hasError
    assert not dummy_proxy_2._hasError
    dummy_proxy_1 == dummy_proxy_2
    assert dummy_proxy_1._hasError
    assert dummy_proxy_2._hasError
Beispiel #2
0
def test_call(int_proxy: MagicProxy):
    def test_callable(fst: int, snd: int = 0) -> int:
        return fst + 2 + snd

    call_proxy = MagicProxy(test_callable)
    with pytest.raises(TypeError):
        int_proxy()
    assert int_proxy._hasError

    result = call_proxy(2)
    assert result == 4
    assert not call_proxy._hasError

    result = call_proxy(2, 2)
    assert result == 6
    assert not call_proxy._hasError
Beispiel #3
0
def test_set_private_attribute(int_proxy: MagicProxy):
    assert not int_proxy._hasError
    int_proxy._errorCode = 42
    assert int_proxy._errorCode == 42
    assert not int_proxy._hasError
Beispiel #4
0
def test_retrieve_obj():
    real = 5
    proxy = MagicProxy(real)
    assert proxy._obj is real
Beispiel #5
0
def none_proxy() -> MagicProxy:
    return MagicProxy(None)
Beispiel #6
0
def float_proxy() -> MagicProxy:
    return MagicProxy(2.5)
Beispiel #7
0
def str_proxy() -> MagicProxy:
    return MagicProxy("Test")
Beispiel #8
0
def test_none_attr(none_proxy: MagicProxy):
    assert not none_proxy._hasError
    with pytest.raises(AttributeError):
        none_proxy.test()
    assert none_proxy._hasError
Beispiel #9
0
def int_proxy() -> MagicProxy:
    return MagicProxy(42)