END_TEST


START_TEST ( test_UnitDefinition_parent_NULL )
{
    SBMLDocument *d = new SBMLDocument();
    Model *m = d->createModel();
    UnitDefinition *c = m->createUnitDefinition();
    Unit *u = c->createUnit();

    fail_unless(u->getAncestorOfType(SBML_UNIT_DEFINITION) == c);

    UnitDefinition *c1 = c->clone();
    delete d;

    fail_unless(c1->getAncestorOfType(SBML_MODEL) == NULL);
    fail_unless(c1->getParentSBMLObject() == NULL);
    fail_unless (c1->getSBMLDocument() == NULL);

    fail_unless(c1->getUnit(0)->getAncestorOfType(SBML_UNIT_DEFINITION) == c1);
    fail_unless(c1->getUnit(0)->getParentSBMLObject() != NULL);
    fail_unless (c1->getUnit(0)->getSBMLDocument() == NULL);

    delete c1;
}