
|
Server : Apache System : Linux 182.49.167.72.host.secureserver.net 4.18.0-553.92.1.el8_10.x86_64 #1 SMP Wed Jan 14 06:31:58 EST 2026 x86_64 User : kikai ( 1014) PHP Version : 8.3.30 Disable Function : NONE Directory : /var/opt/nydus/ops/importlib_resources/tests/ |
Upload File : |
import unittest
from .util import MemorySetup, Traversable
class TestMemoryTraversableImplementation(unittest.TestCase):
def test_concrete_methods_are_not_overridden(self):
"""`MemoryTraversable` must not override `Traversable` concrete methods.
This test is not an attempt to enforce a particular `Traversable` protocol;
it merely catches changes in the `Traversable` abstract/concrete methods
that have not been mirrored in the `MemoryTraversable` subclass.
"""
traversable_concrete_methods = {
method
for method, value in Traversable.__dict__.items()
if callable(value) and method not in Traversable.__abstractmethods__
}
memory_traversable_concrete_methods = {
method
for method, value in MemorySetup.MemoryTraversable.__dict__.items()
if callable(value) and not method.startswith("__")
}
overridden_methods = (
memory_traversable_concrete_methods & traversable_concrete_methods
)
assert not overridden_methods