Code Duplication    Length = 21-22 lines in 2 locations

tests/test_compat.py 2 locations

@@ 162-183 (lines=22) @@
159
    assert DClass().footer() == 'DClass'
160
161
162
def test_abstractclassmethod_namespaced(abc, namespace):
163
    """Test interaction between namespaces and abstract classmethods."""
164
    class CClass(metaclass=abc.NamespaceableABCMeta):
165
        """A throwaway test class."""
166
        with namespace() as ns:
167
            @classmethod
168
            @abstractmethod
169
            def footer(cls):
170
                """Return class name. Abstract."""
171
                return cls.__name__
172
    with pytest.raises(TypeError):
173
        print(CClass())
174
175
    class DClass(CClass):
176
        """A throwaway test class."""
177
        with namespace() as ns:
178
            @classmethod
179
            def footer(cls):
180
                """Return class name. Concrete."""
181
                return super().ns.footer()
182
    assert DClass.ns.footer() == 'DClass'
183
    assert DClass().ns.footer() == 'DClass'
184
185
186
def test_abstractstaticmethod_basics(abc):
@@ 101-121 (lines=21) @@
98
    assert DClass().footer == 3
99
100
101
def test_abstractproperty_namespaced(abc, namespace):
102
    """Test interaction between namespaces and abstract properties."""
103
    class CClass(metaclass=abc.NamespaceableABCMeta):
104
        """A throwaway test class."""
105
        with namespace() as ns:
106
            @property
107
            @abstractmethod
108
            def footer(self):
109
                """Return 3. Abstract."""
110
                return 3
111
    with pytest.raises(TypeError):
112
        print(CClass())
113
114
    class DClass(CClass):
115
        """A throwaway test class."""
116
        with namespace() as ns:
117
            @CClass.ns.footer.getter
118
            def footer(self):
119
                """Return 3. Concrete."""
120
                return super().ns.footer
121
    assert DClass().ns.footer == 3
122
123
124
def test_abstractclassmethod_basics(abc):