def METHOD_NAME(self, mock_logging):
    """
    Test a course whose structure is not a tree.
    """
    store = XMLModuleStore(
        DATA_DIR,
        source_dirs=['xml_dag'],
        xblock_mixins=(XModuleMixin,),
    )
    course_key = store.get_courses()[0].id
    mock_logging.warning.assert_called_with(
        "%s has more than one definition", course_key.make_usage_key('discussion', 'duplicate_def')
    )
    shared_item_loc = course_key.make_usage_key('html', 'toyhtml')
    shared_item = store.get_item(shared_item_loc)
    parent = shared_item.get_parent()
    assert parent is not None, 'get_parent failed to return a value'
    parent_loc = course_key.make_usage_key('vertical', 'vertical_test')
    assert parent.location == parent_loc
    assert shared_item.location in [x.location for x in parent.get_children()]
    # ensure it's still a child of the other parent even tho it doesn't claim the other parent as its parent
    other_parent_loc = course_key.make_usage_key('vertical', 'zeta')
    other_parent = store.get_item(other_parent_loc)
    # children rather than get_children b/c the instance returned by get_children != shared_item
    assert shared_item_loc in other_parent.children