public void test_XMLNode_attribute_add_remove() { XMLTriple triple = new XMLTriple("test", "", ""); XMLAttributes attr = new XMLAttributes(); XMLNode node = new XMLNode(triple, attr); XMLTriple xt1 = new XMLTriple("name1", "http://name1.org/", "p1"); XMLTriple xt2 = new XMLTriple("name2", "http://name2.org/", "p2"); XMLTriple xt3 = new XMLTriple("name3", "http://name3.org/", "p3"); XMLTriple xt1a = new XMLTriple("name1", "http://name1a.org/", "p1a"); XMLTriple xt2a = new XMLTriple("name2", "http://name2a.org/", "p2a"); node.addAttr("name1", "val1", "http://name1.org/", "p1"); node.addAttr(xt2, "val2"); assertTrue(node.getAttributesLength() == 2); assertTrue(node.isAttributesEmpty() == false); assertTrue(!node.getAttrName(0).equals("name1") == false); assertTrue(!node.getAttrValue(0).equals("val1") == false); assertTrue(!node.getAttrURI(0).equals("http://name1.org/") == false); assertTrue(!node.getAttrPrefix(0).equals("p1") == false); assertTrue(!node.getAttrName(1).equals("name2") == false); assertTrue(!node.getAttrValue(1).equals("val2") == false); assertTrue(!node.getAttrURI(1).equals("http://name2.org/") == false); assertTrue(!node.getAttrPrefix(1).equals("p2") == false); assertTrue(node.getAttrValue("name1").equals("") == true); assertTrue(node.getAttrValue("name2").equals("") == true); assertTrue(!node.getAttrValue("name1", "http://name1.org/").equals("val1") == false); assertTrue(!node.getAttrValue("name2", "http://name2.org/").equals("val2") == false); assertTrue(!node.getAttrValue(xt1).equals("val1") == false); assertTrue(!node.getAttrValue(xt2).equals("val2") == false); assertTrue(node.hasAttr(-1) == false); assertTrue(node.hasAttr(2) == false); assertTrue(node.hasAttr(0) == true); assertTrue(node.hasAttr("name1", "http://name1.org/") == true); assertTrue(node.hasAttr("name2", "http://name2.org/") == true); assertTrue(node.hasAttr("name3", "http://name3.org/") == false); assertTrue(node.hasAttr(xt1) == true); assertTrue(node.hasAttr(xt2) == true); assertTrue(node.hasAttr(xt3) == false); node.addAttr("noprefix", "val3"); assertTrue(node.getAttributesLength() == 3); assertTrue(node.isAttributesEmpty() == false); assertTrue(!node.getAttrName(2).equals("noprefix") == false); assertTrue(!node.getAttrValue(2).equals("val3") == false); assertTrue(node.getAttrURI(2).equals("") == true); assertTrue(node.getAttrPrefix(2).equals("") == true); assertTrue(!node.getAttrValue("noprefix").equals("val3") == false); assertTrue(!node.getAttrValue("noprefix", "").equals("val3") == false); assertTrue(node.hasAttr("noprefix") == true); assertTrue(node.hasAttr("noprefix", "") == true); node.addAttr(xt1, "mval1"); node.addAttr("name2", "mval2", "http://name2.org/", "p2"); assertTrue(node.getAttributesLength() == 3); assertTrue(node.isAttributesEmpty() == false); assertTrue(!node.getAttrName(0).equals("name1") == false); assertTrue(!node.getAttrValue(0).equals("mval1") == false); assertTrue(!node.getAttrURI(0).equals("http://name1.org/") == false); assertTrue(!node.getAttrPrefix(0).equals("p1") == false); assertTrue(!node.getAttrName(1).equals("name2") == false); assertTrue(!node.getAttrValue(1).equals("mval2") == false); assertTrue(!node.getAttrURI(1).equals("http://name2.org/") == false); assertTrue(!node.getAttrPrefix(1).equals("p2") == false); assertTrue(node.hasAttr(xt1) == true); assertTrue(node.hasAttr("name1", "http://name1.org/") == true); node.addAttr("noprefix", "mval3"); assertTrue(node.getAttributesLength() == 3); assertTrue(node.isAttributesEmpty() == false); assertTrue(!node.getAttrName(2).equals("noprefix") == false); assertTrue(!node.getAttrValue(2).equals("mval3") == false); assertTrue(node.getAttrURI(2).equals("") == true); assertTrue(node.getAttrPrefix(2).equals("") == true); assertTrue(node.hasAttr("noprefix") == true); assertTrue(node.hasAttr("noprefix", "") == true); node.addAttr(xt1a, "val1a"); node.addAttr(xt2a, "val2a"); assertTrue(node.getAttributesLength() == 5); assertTrue(!node.getAttrName(3).equals("name1") == false); assertTrue(!node.getAttrValue(3).equals("val1a") == false); assertTrue(!node.getAttrURI(3).equals("http://name1a.org/") == false); assertTrue(!node.getAttrPrefix(3).equals("p1a") == false); assertTrue(!node.getAttrName(4).equals("name2") == false); assertTrue(!node.getAttrValue(4).equals("val2a") == false); assertTrue(!node.getAttrURI(4).equals("http://name2a.org/") == false); assertTrue(!node.getAttrPrefix(4).equals("p2a") == false); assertTrue(!node.getAttrValue("name1", "http://name1a.org/").equals("val1a") == false); assertTrue(!node.getAttrValue("name2", "http://name2a.org/").equals("val2a") == false); assertTrue(!node.getAttrValue(xt1a).equals("val1a") == false); assertTrue(!node.getAttrValue(xt2a).equals("val2a") == false); node.removeAttr(xt1a); node.removeAttr(xt2a); assertTrue(node.getAttributesLength() == 3); node.removeAttr("name1", "http://name1.org/"); assertTrue(node.getAttributesLength() == 2); assertTrue(node.isAttributesEmpty() == false); assertTrue(!node.getAttrName(0).equals("name2") == false); assertTrue(!node.getAttrValue(0).equals("mval2") == false); assertTrue(!node.getAttrURI(0).equals("http://name2.org/") == false); assertTrue(!node.getAttrPrefix(0).equals("p2") == false); assertTrue(!node.getAttrName(1).equals("noprefix") == false); assertTrue(!node.getAttrValue(1).equals("mval3") == false); assertTrue(node.getAttrURI(1).equals("") == true); assertTrue(node.getAttrPrefix(1).equals("") == true); assertTrue(node.hasAttr("name1", "http://name1.org/") == false); node.removeAttr(xt2); assertTrue(node.getAttributesLength() == 1); assertTrue(node.isAttributesEmpty() == false); assertTrue(!node.getAttrName(0).equals("noprefix") == false); assertTrue(!node.getAttrValue(0).equals("mval3") == false); assertTrue(node.getAttrURI(0).equals("") == true); assertTrue(node.getAttrPrefix(0).equals("") == true); assertTrue(node.hasAttr(xt2) == false); assertTrue(node.hasAttr("name2", "http://name2.org/") == false); node.removeAttr("noprefix"); assertTrue(node.getAttributesLength() == 0); assertTrue(node.isAttributesEmpty() == true); assertTrue(node.hasAttr("noprefix") == false); assertTrue(node.hasAttr("noprefix", "") == false); node = null; xt1 = null; xt2 = null; xt3 = null; xt1a = null; xt2a = null; triple = null; attr = null; }