def test_symmetric_o2o_inheritance(self):

        class Parent(object):
            pass
        class Child(object):
            pass
        class SubChild(Child):
            pass

        p_token = object()
        c_token = object()

        instrumentation.register_class(Parent)
        instrumentation.register_class(Child)
        instrumentation.register_class(SubChild)
        attributes.register_attribute(Parent, 'child', uselist=False,
                backref="parent",
                parent_token = p_token,
                useobject=True)
        attributes.register_attribute(Child, 'parent', uselist=False,
                backref="child",
                parent_token = c_token,
                useobject=True)
        attributes.register_attribute(SubChild, 'parent',
                uselist=False,
                backref="child",
                parent_token = c_token,
                useobject=True)

        p1 = Parent()
        c1 = Child()
        p1.child = c1

        c2 = SubChild()
        c2.parent = p1
Test that backref 'initiator' catching goes against
dataset/ETHPy150Open zzzeek/sqlalchemy/test/orm/test_attributes.py/BackrefTest.test_symmetric_o2o_inheritance