END_TEST START_TEST(test_XMLToken_newSetters_addAttributes1) { /*-- setup --*/ XMLTriple_t* triple = XMLTriple_createWith("test","",""); XMLAttributes_t* attr = XMLAttributes_create(); XMLToken_t* token = XMLToken_createWithTripleAttr(triple, attr); XMLTriple_t* xt2 = XMLTriple_createWith("name3", "http://name3.org/", "p3"); /*-- test of adding attributes --*/ int i = XMLToken_addAttr(token, "name1", "val1"); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( XMLToken_getAttributesLength(token) == 1 ); fail_unless( XMLToken_isAttributesEmpty(token) == 0 ); fail_unless( strcmp(XMLToken_getAttrName (token, 0), "name1") == 0 ); fail_unless( strcmp(XMLToken_getAttrValue (token, 0), "val1" ) == 0 ); i = XMLToken_addAttrWithNS(token, "name2", "val2", "http://name1.org/", "p1"); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( XMLToken_getAttributesLength(token) == 2 ); fail_unless( XMLToken_isAttributesEmpty(token) == 0 ); fail_unless( strcmp(XMLToken_getAttrName (token, 1), "name2") == 0 ); fail_unless( strcmp(XMLToken_getAttrValue (token, 1), "val2" ) == 0 ); fail_unless( strcmp(XMLToken_getAttrURI (token, 1), "http://name1.org/") == 0 ); fail_unless( strcmp(XMLToken_getAttrPrefix(token, 1), "p1" ) == 0 ); i = XMLToken_addAttrWithTriple(token, xt2, "val2"); fail_unless( i == LIBSBML_OPERATION_SUCCESS ); fail_unless( XMLToken_getAttributesLength(token) == 3 ); fail_unless( XMLToken_isAttributesEmpty(token) == 0 ); fail_unless( strcmp(XMLToken_getAttrName (token, 2), "name3") == 0 ); fail_unless( strcmp(XMLToken_getAttrValue (token, 2), "val2" ) == 0 ); fail_unless( strcmp(XMLToken_getAttrURI (token, 2), "http://name3.org/") == 0 ); fail_unless( strcmp(XMLToken_getAttrPrefix(token, 2), "p3" ) == 0 ); /*-- teardown --*/ XMLTriple_free(xt2); XMLTriple_free(triple); XMLAttributes_free(attr); XMLToken_free(token); }
END_TEST START_TEST(test_XMLToken_newSetters_addAttributes2) { /*-- setup --*/ XMLTriple_t* triple = XMLTriple_createWith("test","",""); XMLToken_t* token = XMLToken_createWithTriple(triple); XMLTriple_t* xt2 = XMLTriple_createWith("name3", "http://name3.org/", "p3"); /*-- test of adding attributes --*/ int i = XMLToken_addAttr(token, "name1", "val1"); fail_unless( i == LIBSBML_INVALID_XML_OPERATION ); fail_unless( XMLToken_getAttributesLength(token) == 0 ); fail_unless( XMLToken_isAttributesEmpty(token) == 1 ); i = XMLToken_addAttrWithNS(token, "name2", "val2", "http://name1.org/", "p1"); fail_unless( i == LIBSBML_INVALID_XML_OPERATION ); fail_unless( XMLToken_getAttributesLength(token) == 0 ); fail_unless( XMLToken_isAttributesEmpty(token) == 1 ); i = XMLToken_addAttrWithTriple(token, xt2, "val2"); fail_unless( i == LIBSBML_INVALID_XML_OPERATION ); fail_unless( XMLToken_getAttributesLength(token) == 0 ); fail_unless( XMLToken_isAttributesEmpty(token) == 1 ); /*-- teardown --*/ XMLTriple_free(xt2); XMLTriple_free(triple); XMLToken_free(token); }
END_TEST START_TEST(test_XMLToken_newSetters_removeAttributes1) { /*-- setup --*/ XMLTriple_t* triple = XMLTriple_createWith("test","",""); XMLAttributes_t* attr = XMLAttributes_create(); XMLToken_t* token = XMLToken_createWithTripleAttr(triple, attr); XMLTriple_t* xt2 = XMLTriple_createWith("name3", "http://name3.org/", "p3"); XMLTriple_t* xt1 = XMLTriple_createWith("name5", "http://name5.org/", "p5"); int i = XMLToken_addAttr(token, "name1", "val1"); i = XMLToken_addAttrWithNS(token, "name2", "val2", "http://name1.org/", "p1"); i = XMLToken_addAttrWithTriple(token, xt2, "val2"); i = XMLToken_addAttr(token, "name4", "val4"); fail_unless (XMLAttributes_getLength(XMLToken_getAttributes(token)) == 4); i = XMLToken_removeAttr(token, 7); fail_unless ( i == LIBSBML_INDEX_EXCEEDS_SIZE ); i = XMLToken_removeAttrByName(token, "name7"); fail_unless ( i == LIBSBML_INDEX_EXCEEDS_SIZE ); i = XMLToken_removeAttrByNS(token, "name7", "namespaces7"); fail_unless ( i == LIBSBML_INDEX_EXCEEDS_SIZE ); i = XMLToken_removeAttrByTriple(token, xt1); fail_unless ( i == LIBSBML_INDEX_EXCEEDS_SIZE ); fail_unless (XMLAttributes_getLength(XMLToken_getAttributes(token)) == 4); i = XMLToken_removeAttr(token, 3); fail_unless ( i == LIBSBML_OPERATION_SUCCESS ); fail_unless (XMLAttributes_getLength(XMLToken_getAttributes(token)) == 3); i = XMLToken_removeAttrByName(token, "name1"); fail_unless ( i == LIBSBML_OPERATION_SUCCESS ); fail_unless (XMLAttributes_getLength(XMLToken_getAttributes(token)) == 2); i = XMLToken_removeAttrByNS(token, "name2", "http://name1.org/"); fail_unless ( i == LIBSBML_OPERATION_SUCCESS ); fail_unless (XMLAttributes_getLength(XMLToken_getAttributes(token)) == 1); i = XMLToken_removeAttrByTriple(token, xt2); fail_unless ( i == LIBSBML_OPERATION_SUCCESS ); fail_unless (XMLAttributes_getLength(XMLToken_getAttributes(token)) == 0); /*-- teardown --*/ XMLTriple_free(xt1); XMLTriple_free(xt2); XMLTriple_free(triple); XMLAttributes_free(attr); XMLToken_free(token); }