コード例 #1
0
def test_MockObject():
    mock = _MockObject()
    assert isinstance(mock.some_attr, _MockObject)
    assert isinstance(mock.some_method, _MockObject)
    assert isinstance(mock.attr1.attr2, _MockObject)
    assert isinstance(mock.attr1.attr2.meth(), _MockObject)

    # subclassing
    class SubClass(mock.SomeClass):
        """docstring of SubClass"""
        def method(self):
            return "string"

    obj = SubClass()
    assert SubClass.__doc__ == "docstring of SubClass"
    assert isinstance(obj, SubClass)
    assert obj.method() == "string"
    assert isinstance(obj.other_method(), SubClass)

    # parametrized type
    T = TypeVar('T')

    class SubClass2(mock.SomeClass[T]):
        """docstring of SubClass"""

    obj2 = SubClass2()
    assert SubClass2.__doc__ == "docstring of SubClass"
    assert isinstance(obj2, SubClass2)
コード例 #2
0
def test_mock_decorator():
    mock = _MockObject()

    @mock.function_deco
    def func():
        pass

    class Foo:
        @mock.method_deco
        def meth(self):
            pass

        @classmethod
        @mock.method_deco
        def class_meth(cls):
            pass

    @mock.class_deco
    class Bar:
        pass

    @mock.funcion_deco(Foo)
    class Baz:
        pass

    assert undecorate(func).__name__ == "func"
    assert undecorate(Foo.meth).__name__ == "meth"
    assert undecorate(Foo.class_meth).__name__ == "class_meth"
    assert undecorate(Bar).__name__ == "Bar"
    assert undecorate(Baz).__name__ == "Baz"
コード例 #3
0
def test_abc_MockObject():
    mock = _MockObject()

    class Base:
        @abc.abstractmethod
        def __init__(self):
            pass

    class Derived(Base, mock.SubClass):
        pass

    obj = Derived()
    assert isinstance(obj, Base)
    assert isinstance(obj, _MockObject)
    assert isinstance(obj.some_method(), Derived)
コード例 #4
0
def test_MockObject():
    mock = _MockObject()
    assert isinstance(mock.some_attr, _MockObject)
    assert isinstance(mock.some_method, _MockObject)
    assert isinstance(mock.attr1.attr2, _MockObject)
    assert isinstance(mock.attr1.attr2.meth(), _MockObject)

    class SubClass(mock.SomeClass):
        """docstring of SubClass"""
        def method(self):
            return "string"

    obj = SubClass()
    assert SubClass.__doc__ == "docstring of SubClass"
    assert isinstance(obj, SubClass)
    assert obj.method() == "string"
    assert isinstance(obj.other_method(), SubClass)
コード例 #5
0
def test_mock_decorator():
    mock = _MockObject()

    @mock.function_deco
    def func():
        """docstring"""

    class Foo:
        @mock.method_deco
        def meth(self):
            """docstring"""

    @mock.class_deco
    class Bar:
        """docstring"""

    assert func.__doc__ == "docstring"
    assert Foo.meth.__doc__ == "docstring"
    assert Bar.__doc__ == "docstring"