Esempio n. 1
0
    def test_single_down(self):
        class A(object):
            pass

        attributes.register_class(A)

        mgr_factory = lambda cls: attributes.ClassManager(cls)

        class B(A):
            __sa_instrumentation_manager__ = staticmethod(mgr_factory)

        self.assertRaises(TypeError, attributes.register_class, B)
Esempio n. 2
0
    def test_diamond_b2(self):
        mgr_factory = lambda cls: attributes.ClassManager(cls)

        class A(object):
            pass

        class B1(A):
            pass

        class B2(A):
            __sa_instrumentation_manager__ = mgr_factory

        class C(object):
            pass

        self.assertRaises(TypeError, attributes.register_class, B2)
Esempio n. 3
0
    def test_none(self):
        class A(object):
            pass

        attributes.register_class(A)

        mgr_factory = lambda cls: attributes.ClassManager(cls)

        class B(object):
            __sa_instrumentation_manager__ = staticmethod(mgr_factory)

        attributes.register_class(B)

        class C(object):
            __sa_instrumentation_manager__ = attributes.ClassManager

        attributes.register_class(C)