コード例 #1
0
    def test_registered_implementation_provided_by(self):
        class DynamicRegisteredImplementation:

            def provides_interface(self, interface):
                return False

        DynamicInterface.register_implementation(
            DynamicRegisteredImplementation
        )

        self.assertTrue(
            DynamicInterface.provided_by(DynamicRegisteredImplementation())
        )
コード例 #2
0
    def test_registered_implementation_provided_by(self):
        class FooDynamic:

            def provides_interface(self, interface):
                return interface.implemented_by(IFoo)

            def foo(self):
                return 1

        DynamicInterface.register_implementation(FooDynamic)

        instance = FooDynamic()
        self.assertTrue(IFoo.provided_by(instance))
        IFoo(instance)
コード例 #3
0
    def test_implemented_provided_by(self):
        @implements(DynamicInterface)
        class DynamicImplemented:

            def provides_interface(self, interface):
                return False

        self.assertTrue(DynamicInterface.provided_by(DynamicImplemented()))