Ejemplo n.º 1
0
    def test_order(self):

        class A(object):
            pass

        class B(A):
            pass

        class C(B):
            pass

        class D(C):

            @classmethod
            def mro(cls):
                return ()

        A.x = 10
        self.assertEqual(mro_lookup(C, 'x'), A)
        self.assertIsNone(mro_lookup(C, 'x', stop=(A, )))
        B.x = 10
        self.assertEqual(mro_lookup(C, 'x'), B)
        C.x = 10
        self.assertEqual(mro_lookup(C, 'x'), C)
        self.assertIsNone(mro_lookup(D, 'x'))
Ejemplo n.º 2
0
    def test_order(self):

        class A(object):
            pass

        class B(A):
            pass

        class C(B):
            pass

        class D(C):

            @classmethod
            def mro(cls):
                return ()

        A.x = 10
        self.assertEqual(mro_lookup(C, "x"), A)
        self.assertIsNone(mro_lookup(C, "x", stop=(A, )))
        B.x = 10
        self.assertEqual(mro_lookup(C, "x"), B)
        C.x = 10
        self.assertEqual(mro_lookup(C, "x"), C)
        self.assertIsNone(mro_lookup(D, "x"))