def test_XMLToken_create(self):
     token = libsbml.XMLToken()
     self.assert_(token != None)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     triple = libsbml.XMLTriple("attr", "uri", "prefix")
     token = libsbml.XMLToken(triple)
     self.assert_(token != None)
     self.assert_(("attr" != token.getName()) == False)
     self.assert_(("prefix" != token.getPrefix()) == False)
     self.assert_(("uri" != token.getURI()) == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     attr = libsbml.XMLAttributes()
     self.assert_(attr != None)
     attr.add("attr2", "value")
     token = libsbml.XMLToken(triple, attr)
     self.assert_(token != None)
     returnattr = token.getAttributes()
     self.assert_(("attr2" != returnattr.getName(0)) == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #2
0
 def test_CVTerm_createFromNode(self):
     qual_triple = libsbml.XMLTriple("is", "", "bqbiol")
     bag_triple = libsbml.XMLTriple()
     li_triple = libsbml.XMLTriple()
     att = libsbml.XMLAttributes()
     att.add("", "This is my resource")
     att1 = libsbml.XMLAttributes()
     li_token = libsbml.XMLToken(li_triple, att)
     bag_token = libsbml.XMLToken(bag_triple, att1)
     qual_token = libsbml.XMLToken(qual_triple, att1)
     li = libsbml.XMLNode(li_token)
     bag = libsbml.XMLNode(bag_token)
     node = libsbml.XMLNode(qual_token)
     bag.addChild(li)
     node.addChild(bag)
     term = libsbml.CVTerm(node)
     self.assert_(term != None)
     self.assert_(term.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER)
     self.assert_(term.getBiologicalQualifierType() == libsbml.BQB_IS)
     xa = term.getResources()
     self.assert_(xa.getLength() == 1)
     self.assert_(("rdf:resource" == xa.getName(0)))
     self.assert_(("This is my resource" == xa.getValue(0)))
     _dummyList = [qual_triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [bag_triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [li_triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [li_token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [bag_token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [qual_token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [att]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [att1]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [term]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [bag]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [li]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #3
0
def add_annotation_complex(model, model_id, participants):

    species = model.getSpecies(model_id)
    xmlns = libsbml.XMLNamespaces()
    xmlns.add('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf')
    rdf_triple = libsbml.XMLTriple(
        'RDF', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf')
    rdf_token = libsbml.XMLToken(rdf_triple, libsbml.XMLAttributes(), xmlns)
    annotation = libsbml.XMLNode(rdf_token)
    if species:
        participants_xml_triple = libsbml.XMLTriple(
            'Participants', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
            'rdf')
        participants_xml_token = \
            libsbml.XMLToken(participants_xml_triple,
                             libsbml.XMLAttributes())
        participants_xml_node = libsbml.XMLNode(participants_xml_token)
        participant_xml_triple = libsbml.XMLTriple(
            'Participant', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
            'rdf')
        for iii in participants:
            resource_att = libsbml.XMLAttributes()
            resource_att.add('participant', str(iii))
            subject_token = libsbml.XMLToken(participant_xml_triple,
                                             resource_att)
            subject_token.setEnd()
            participants_xml_node.addChild(libsbml.XMLNode(subject_token))
        annotation.addChild(participants_xml_node)
    species.appendAnnotation(annotation)
Exemple #4
0
 def test_XMLToken_newSetters_setAttributes1(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     nattr = libsbml.XMLAttributes()
     xt1 = libsbml.XMLTriple("name1", "http://name1.org/", "p1")
     nattr.add(xt1, "val1")
     i = token.setAttributes(nattr)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.isAttributesEmpty() == False)
     _dummyList = [nattr]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt1]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLToken_namespace_add(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     self.assert_(token.getNamespacesLength() == 0)
     self.assert_(token.isNamespacesEmpty() == True)
     token.addNamespace("http://test1.org/", "test1")
     self.assert_(token.getNamespacesLength() == 1)
     self.assert_(token.isNamespacesEmpty() == False)
     token.addNamespace("http://test2.org/", "test2")
     self.assert_(token.getNamespacesLength() == 2)
     self.assert_(token.isNamespacesEmpty() == False)
     token.addNamespace("http://test1.org/", "test1a")
     self.assert_(token.getNamespacesLength() == 3)
     self.assert_(token.isNamespacesEmpty() == False)
     token.addNamespace("http://test1.org/", "test1a")
     self.assert_(token.getNamespacesLength() == 3)
     self.assert_(token.isNamespacesEmpty() == False)
     self.assert_(
         (token.getNamespaceIndex("http://test1.org/") == -1) == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #6
0
 def test_XMLToken_newSetters_setNamespaces1(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     ns = libsbml.XMLNamespaces()
     self.assert_(token.getNamespacesLength() == 0)
     self.assert_(token.isNamespacesEmpty() == True)
     ns.add("http://test1.org/", "test1")
     i = token.setNamespaces(ns)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getNamespacesLength() == 1)
     self.assert_(token.isNamespacesEmpty() == False)
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [ns]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_Node_assignmentOperator(self):
   att = libsbml.XMLAttributes()
   t = libsbml.XMLTriple("sarah", "http://foo.org/", "bar")
   token = libsbml.XMLToken(t,att,3,4)
   node = libsbml.XMLNode(token)
   child = libsbml.XMLNode()
   node.addChild(child)
   self.assert_( node.getNumChildren() == 1 )
   self.assert_( node.getName() ==  "sarah" )
   self.assert_( node.getURI() ==  "http://foo.org/" )
   self.assert_( node.getPrefix() ==  "bar" )
   self.assert_( node.isEnd() == False )
   self.assert_( node.isEOF() == False )
   self.assert_( node.getLine() == 3 )
   self.assert_( node.getColumn() == 4 )
   node2 = libsbml.XMLNode()
   node2 = node
   self.assert_( node2.getNumChildren() == 1 )
   self.assert_( node2.getName() ==  "sarah" )
   self.assert_( node2.getURI() ==  "http://foo.org/" )
   self.assert_( node2.getPrefix() ==  "bar" )
   self.assert_( node2.isEnd() == False )
   self.assert_( node2.isEOF() == False )
   self.assert_( node2.getLine() == 3 )
   self.assert_( node2.getColumn() == 4 )
   t = None
   token = None
   node = None
   node2 = None
   pass  
Exemple #8
0
 def test_XMLToken_newSetters_addAttributes2(self):
     triple = libsbml.XMLTriple("test", "", "")
     token = libsbml.XMLToken(triple)
     xt2 = libsbml.XMLTriple("name3", "http://name3.org/", "p3")
     i = token.addAttr("name1", "val1")
     self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION)
     self.assert_(token.getAttributesLength() == 0)
     self.assert_(token.isAttributesEmpty() == True)
     i = token.addAttr("name2", "val2", "http://name1.org/", "p1")
     self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION)
     self.assert_(token.getAttributesLength() == 0)
     self.assert_(token.isAttributesEmpty() == True)
     i = token.addAttr(xt2, "val2")
     self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION)
     self.assert_(token.getAttributesLength() == 0)
     self.assert_(token.isAttributesEmpty() == True)
     _dummyList = [xt2]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLToken_namespace_get(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     token.addNamespace("http://test1.org/", "test1")
     token.addNamespace("http://test2.org/", "test2")
     token.addNamespace("http://test3.org/", "test3")
     token.addNamespace("http://test4.org/", "test4")
     token.addNamespace("http://test5.org/", "test5")
     token.addNamespace("http://test6.org/", "test6")
     token.addNamespace("http://test7.org/", "test7")
     token.addNamespace("http://test8.org/", "test8")
     token.addNamespace("http://test9.org/", "test9")
     self.assert_(token.getNamespacesLength() == 9)
     self.assert_(token.getNamespaceIndex("http://test1.org/") == 0)
     self.assert_(("test2" != token.getNamespacePrefix(1)) == False)
     self.assert_((
         "test1" != token.getNamespacePrefix("http://test1.org/")) == False)
     self.assert_(
         ("http://test2.org/" != token.getNamespaceURI(1)) == False)
     self.assert_(
         ("http://test2.org/" != token.getNamespaceURI("test2")) == False)
     self.assert_(token.getNamespaceIndex("http://test1.org/") == 0)
     self.assert_(token.getNamespaceIndex("http://test2.org/") == 1)
     self.assert_(token.getNamespaceIndex("http://test5.org/") == 4)
     self.assert_(token.getNamespaceIndex("http://test9.org/") == 8)
     self.assert_(token.getNamespaceIndex("http://testX.org/") == -1)
     self.assert_(token.hasNamespaceURI("http://test1.org/") != False)
     self.assert_(token.hasNamespaceURI("http://test2.org/") != False)
     self.assert_(token.hasNamespaceURI("http://test5.org/") != False)
     self.assert_(token.hasNamespaceURI("http://test9.org/") != False)
     self.assert_(token.hasNamespaceURI("http://testX.org/") == False)
     self.assert_(token.getNamespaceIndexByPrefix("test1") == 0)
     self.assert_(token.getNamespaceIndexByPrefix("test5") == 4)
     self.assert_(token.getNamespaceIndexByPrefix("test9") == 8)
     self.assert_(token.getNamespaceIndexByPrefix("testX") == -1)
     self.assert_(token.hasNamespacePrefix("test1") != False)
     self.assert_(token.hasNamespacePrefix("test5") != False)
     self.assert_(token.hasNamespacePrefix("test9") != False)
     self.assert_(token.hasNamespacePrefix("testX") == False)
     self.assert_(
         token.hasNamespaceNS("http://test1.org/", "test1") != False)
     self.assert_(
         token.hasNamespaceNS("http://test5.org/", "test5") != False)
     self.assert_(
         token.hasNamespaceNS("http://test9.org/", "test9") != False)
     self.assert_(
         token.hasNamespaceNS("http://testX.org/", "testX") == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #10
0
 def test_XMLToken_newSetters_setEOF(self):
     token = libsbml.XMLToken()
     self.assert_(token.isEnd() == False)
     i = token.setEOF()
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.isEnd() == False)
     self.assert_(token.isStart() == False)
     self.assert_(token.isText() == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLToken_chars(self):
     token = libsbml.XMLToken("This is text")
     self.assert_(token.isElement() == False)
     self.assert_(token.isEnd() == False)
     self.assert_(token.isStart() == False)
     self.assert_(token.isText() == True)
     self.assert_(token.isEOF() == False)
     self.assert_(("This is text" != token.getCharacters()) == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #12
0
 def test_XMLToken_newSetters_setTriple2(self):
     triple = libsbml.XMLTriple("test", "", "")
     token = libsbml.XMLToken("This is text")
     i = token.setTriple(triple)
     self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION)
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_Token_copyConstructor(self):
   t = libsbml.XMLTriple("sarah", "http://foo.org/", "bar")
   token = libsbml.XMLToken(t,3,4)
   self.assert_( token.getName() ==  "sarah" )
   self.assert_( token.getURI() ==  "http://foo.org/" )
   self.assert_( token.getPrefix() ==  "bar" )
   self.assert_( token.isEnd() == True )
   self.assert_( token.isEOF() == False )
   self.assert_( token.getLine() == 3 )
   self.assert_( token.getColumn() == 4 )
   token2 = libsbml.XMLToken(token)
   self.assert_( token2.getName() ==  "sarah" )
   self.assert_( token2.getURI() ==  "http://foo.org/" )
   self.assert_( token2.getPrefix() ==  "bar" )
   self.assert_( token2.isEnd() == True )
   self.assert_( token2.isEOF() == False )
   self.assert_( token2.getLine() == 3 )
   self.assert_( token2.getColumn() == 4 )
   t = None
   token = None
   token2 = None
   pass  
 def test_SyntaxChecker_validXHTML(self):
   NS24 = libsbml.SBMLNamespaces(2,4)
   NS31 = libsbml.SBMLNamespaces(3,1)
   toptriple = libsbml.XMLTriple("notes", "", "")
   triple = libsbml.XMLTriple("p", "", "")
   att = libsbml.XMLAttributes()
   ns = libsbml.XMLNamespaces()
   ns.add( "http://www.w3.org/1999/xhtml", "")
   tt = libsbml.XMLToken("This is my text")
   n1 = libsbml.XMLNode(tt)
   toptoken = libsbml.XMLToken(toptriple,att)
   topnode = libsbml.XMLNode(toptoken)
   token = libsbml.XMLToken(triple,att,ns)
   node = libsbml.XMLNode(token)
   node.addChild(n1)
   topnode.addChild(node)
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,None) == True )
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS24) == True )
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS31) == True )
   triple = libsbml.XMLTriple("html", "", "")
   token = libsbml.XMLToken(triple,att,ns)
   node = libsbml.XMLNode(token)
   node.addChild(n1)
   topnode.removeChild(0)
   topnode.addChild(node)
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,None) == True )
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS24) == False )
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS31) == True )
   triple = libsbml.XMLTriple("html", "", "")
   ns.clear()
   token = libsbml.XMLToken(triple,att,ns)
   node = libsbml.XMLNode(token)
   node.addChild(n1)
   topnode.removeChild(0)
   topnode.addChild(node)
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,None) == False )
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS24) == False )
   self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS31) == False )
   pass  
Exemple #15
0
 def test_XMLToken_newSetters_setTriple1(self):
     triple = libsbml.XMLTriple("test", "", "")
     token = libsbml.XMLToken()
     i = token.setTriple(triple)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(("test" == token.getName()))
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLNode_getters(self):
     NS = libsbml.XMLNamespaces()
     NS.add("http://test1.org/", "test1")
     token = libsbml.XMLToken("This is a test")
     node = libsbml.XMLNode(token)
     self.assert_(node != None)
     self.assert_(node.getNumChildren() == 0)
     self.assert_(("This is a test" != node.getCharacters()) == False)
     self.assert_(node.getChild(1) != None)
     attr = libsbml.XMLAttributes()
     self.assert_(attr != None)
     attr.add("attr2", "value")
     triple = libsbml.XMLTriple("attr", "uri", "prefix")
     token = libsbml.XMLToken(triple, attr)
     self.assert_(token != None)
     node = libsbml.XMLNode(token)
     self.assert_(("attr" != node.getName()) == False)
     self.assert_(("uri" != node.getURI()) == False)
     self.assert_(("prefix" != node.getPrefix()) == False)
     returnattr = node.getAttributes()
     self.assert_(("attr2" != returnattr.getName(0)) == False)
     self.assert_(("value" != returnattr.getValue(0)) == False)
     token = libsbml.XMLToken(triple, attr, NS)
     node = libsbml.XMLNode(token)
     returnNS = node.getNamespaces()
     self.assert_(returnNS.getLength() == 1)
     self.assert_(returnNS.isEmpty() == False)
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #17
0
 def test_XMLToken_newSetters_removeAttributes1(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     xt2 = libsbml.XMLTriple("name3", "http://name3.org/", "p3")
     xt1 = libsbml.XMLTriple("name5", "http://name5.org/", "p5")
     i = token.addAttr("name1", "val1")
     i = token.addAttr("name2", "val2", "http://name1.org/", "p1")
     i = token.addAttr(xt2, "val2")
     i = token.addAttr("name4", "val4")
     self.assert_(token.getAttributes().getLength() == 4)
     i = token.removeAttr(7)
     self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE)
     i = token.removeAttr("name7")
     self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE)
     i = token.removeAttr("name7", "namespaces7")
     self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE)
     i = token.removeAttr(xt1)
     self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE)
     self.assert_(token.getAttributes().getLength() == 4)
     i = token.removeAttr(3)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getAttributes().getLength() == 3)
     i = token.removeAttr("name1")
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getAttributes().getLength() == 2)
     i = token.removeAttr("name2", "http://name1.org/")
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getAttributes().getLength() == 1)
     i = token.removeAttr(xt2)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getAttributes().getLength() == 0)
     _dummyList = [xt1]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt2]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #18
0
 def test_XMLToken_newSetters_addNamespaces2(self):
     triple = libsbml.XMLTriple("test", "", "")
     token = libsbml.XMLToken(triple)
     self.assert_(token.getNamespacesLength() == 0)
     self.assert_(token.isNamespacesEmpty() == True)
     i = token.addNamespace("http://test1.org/", "test1")
     self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION)
     self.assert_(token.getNamespacesLength() == 0)
     self.assert_(token.isNamespacesEmpty() == True)
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLToken_namespace_remove(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     token.addNamespace("http://test1.org/", "test1")
     token.addNamespace("http://test2.org/", "test2")
     token.addNamespace("http://test3.org/", "test3")
     token.addNamespace("http://test4.org/", "test4")
     token.addNamespace("http://test5.org/", "test5")
     self.assert_(token.getNamespacesLength() == 5)
     token.removeNamespace(4)
     self.assert_(token.getNamespacesLength() == 4)
     token.removeNamespace(3)
     self.assert_(token.getNamespacesLength() == 3)
     token.removeNamespace(2)
     self.assert_(token.getNamespacesLength() == 2)
     token.removeNamespace(1)
     self.assert_(token.getNamespacesLength() == 1)
     token.removeNamespace(0)
     self.assert_(token.getNamespacesLength() == 0)
     token.addNamespace("http://test1.org/", "test1")
     token.addNamespace("http://test2.org/", "test2")
     token.addNamespace("http://test3.org/", "test3")
     token.addNamespace("http://test4.org/", "test4")
     token.addNamespace("http://test5.org/", "test5")
     self.assert_(token.getNamespacesLength() == 5)
     token.removeNamespace(0)
     self.assert_(token.getNamespacesLength() == 4)
     token.removeNamespace(0)
     self.assert_(token.getNamespacesLength() == 3)
     token.removeNamespace(0)
     self.assert_(token.getNamespacesLength() == 2)
     token.removeNamespace(0)
     self.assert_(token.getNamespacesLength() == 1)
     token.removeNamespace(0)
     self.assert_(token.getNamespacesLength() == 0)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLToken_namespace_set_clear(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     ns = libsbml.XMLNamespaces()
     self.assert_(token.getNamespacesLength() == 0)
     self.assert_(token.isNamespacesEmpty() == True)
     ns.add("http://test1.org/", "test1")
     ns.add("http://test2.org/", "test2")
     ns.add("http://test3.org/", "test3")
     ns.add("http://test4.org/", "test4")
     ns.add("http://test5.org/", "test5")
     token.setNamespaces(ns)
     self.assert_(token.getNamespacesLength() == 5)
     self.assert_(token.isNamespacesEmpty() == False)
     self.assert_(("test1" != token.getNamespacePrefix(0)) == False)
     self.assert_(("test2" != token.getNamespacePrefix(1)) == False)
     self.assert_(("test3" != token.getNamespacePrefix(2)) == False)
     self.assert_(("test4" != token.getNamespacePrefix(3)) == False)
     self.assert_(("test5" != token.getNamespacePrefix(4)) == False)
     self.assert_(
         ("http://test1.org/" != token.getNamespaceURI(0)) == False)
     self.assert_(
         ("http://test2.org/" != token.getNamespaceURI(1)) == False)
     self.assert_(
         ("http://test3.org/" != token.getNamespaceURI(2)) == False)
     self.assert_(
         ("http://test4.org/" != token.getNamespaceURI(3)) == False)
     self.assert_(
         ("http://test5.org/" != token.getNamespaceURI(4)) == False)
     token.clearNamespaces()
     self.assert_(token.getNamespacesLength() == 0)
     _dummyList = [ns]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLToken_fields(self):
     triple = libsbml.XMLTriple("attr", "uri", "prefix")
     token = libsbml.XMLToken(triple)
     self.assert_(token.isElement() == True)
     self.assert_(token.isEnd() == True)
     self.assert_(token.isStart() == False)
     self.assert_(token.isText() == False)
     self.assert_(token.isEOF() == False)
     self.assert_(("attr" != token.getName()) == False)
     self.assert_(("uri" != token.getURI()) == False)
     self.assert_(("prefix" != token.getPrefix()) == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #22
0
    def rFromFlux(flux):
        fluxSBML = libsbml.XMLNode()

        triple = libsbml.XMLTriple("flux", "", "")

        att = libsbml.XMLAttributes()
        att.add(
            "forward", str(flux.forward)
        )  # Forcing string conversion to invoke __str__ for rangedNumber
        att.add("backward", str(flux.backward))
        att.add("net", str(flux.net))
        att.add("exchange", str(flux.exchange))

        ns = libsbml.XMLNamespaces()
        token = libsbml.XMLToken(triple, att, ns)
        fluxNode = libsbml.XMLNode(token)

        fluxSBML.addChild(fluxNode)
        return [fluxSBML]
 def test_XMLNode_createFromToken(self):
     triple = libsbml.XMLTriple("attr", "uri", "prefix")
     token = libsbml.XMLToken(triple)
     node = libsbml.XMLNode(token)
     self.assert_(node != None)
     self.assert_(node.getNumChildren() == 0)
     self.assert_(("attr" != node.getName()) == False)
     self.assert_(("prefix" != node.getPrefix()) == False)
     self.assert_(("uri" != node.getURI()) == False)
     self.assert_(node.getChild(1) != None)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #24
0
 def test_XMLToken_newSetters_addAttributes1(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     xt2 = libsbml.XMLTriple("name3", "http://name3.org/", "p3")
     i = token.addAttr("name1", "val1")
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getAttributesLength() == 1)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("name1" != token.getAttrName(0)) == False)
     self.assert_(("val1" != token.getAttrValue(0)) == False)
     i = token.addAttr("name2", "val2", "http://name1.org/", "p1")
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getAttributesLength() == 2)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("name2" != token.getAttrName(1)) == False)
     self.assert_(("val2" != token.getAttrValue(1)) == False)
     self.assert_(("http://name1.org/" != token.getAttrURI(1)) == False)
     self.assert_(("p1" != token.getAttrPrefix(1)) == False)
     i = token.addAttr(xt2, "val2")
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getAttributesLength() == 3)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("name3" != token.getAttrName(2)) == False)
     self.assert_(("val2" != token.getAttrValue(2)) == False)
     self.assert_(("http://name3.org/" != token.getAttrURI(2)) == False)
     self.assert_(("p3" != token.getAttrPrefix(2)) == False)
     _dummyList = [xt2]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #25
0
 def test_XMLToken_newSetters_removeNamespaces1(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     token.addNamespace("http://test1.org/", "test1")
     self.assert_(token.getNamespacesLength() == 1)
     i = token.removeNamespace("test2")
     self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE)
     self.assert_(token.getNamespacesLength() == 1)
     i = token.removeNamespace("test1")
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(token.getNamespacesLength() == 0)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     pass
Exemple #26
0
def convertSBMLNotes(notesSBML='unset', notesDict='unset'):
    """
    Function that translates notes sbml node to Dictionary and vice-versa
    """
    # We use 'unset' instead of None as the deault here because sometimes None is given as a valid input value for notesSBML,
    # and we want to return an empty dictionary for that.

    # The following functions are used to convert to and from the types of records that
    # can be conveyed in an SBML notes object.

    rPassthrough = lambda line: line
    rToInt = lambda line: int(line)
    rToStrippedStr = lambda line: line.strip()
    rToTrue = lambda line: True

    rFromNumber = lambda numb: [str(numb)]

    rGetAbbrev = lambda GCMS: GCMS.abbrev

    def rFromLinesInDict(fragDict):
        lines = []
        for abbrev in fragDict:
            lines.append(fragDict[abbrev].line)
        return lines

    # looks like e.g. [[0,1],[2,3]]. It means first fragment has carbon 0 and 1 eliminated and second fragment carbons 2 and 3
    def rToDestInfo(line):
        indsnew = []
        inds = line.split(';')
        for ind in inds:
            indsnew.append(ind.strip().split(','))
        return indsnew

    def rFromDestInfo(carbonsOut):
        if carbonsOut is None:
            return []
        newgroups = []
        for group in carbonsOut:
            newgroups.append(','.join(group))
        return [';'.join(newgroups)]

    def rToFlux(line):
        # Examples of acceptable inputs:
        #   <flux forward="240.34" backward="5.0" net="[230:235.34:237.004]" exchange="5.0" />
        # Or:
        #   "240.34, 5.0, [230:235.34:237.004], 5.0"
        # Or:
        #   "240.34, 5.0, 235.34, 5.0"

        if isinstance(line, libsbml.XMLNode):
            forward = None
            backward = None
            net = None
            exchange = None
            if line.hasAttr("forward"):
                forward = line.getAttrValue("forward")
            if line.hasAttr("backward"):
                backward = line.getAttrValue("backward")
            if line.hasAttr("net"):
                net = line.getAttrValue("net")
            if line.hasAttr("exchange"):
                exchange = line.getAttrValue("exchange")
        else:
            v = line.split(',')
            if len(v) != 4:
                raise Exception('Wrong input for flux value from SBML')
            forward = v[0]
            backward = v[1]
            net = v[2]
            exchange = v[3]

        processed = []
        for item in [forward, backward, net, exchange]:
            # If they look like rangedNumbers, turn them into rangedNumber objects
            # before passing them to the flux instantiator.
            if isinstance(item, str):
                item = item.strip()
            if core.rangedNumber.looks_like_rangedNumber(item):
                item = core.rangedNumber.from_string(item)
            else:
                if utils.is_float(item):
                    item = float(item)
            processed.append(item)

        forward = processed[0]
        backward = processed[1]
        net = processed[2]
        exchange = processed[3]

        flux = core.flux(for_back_tup=(forward, backward),
                         net_exc_tup=(net, exchange))
        return flux

    def rFromFlux(flux):
        fluxSBML = libsbml.XMLNode()

        triple = libsbml.XMLTriple("flux", "", "")

        att = libsbml.XMLAttributes()
        att.add(
            "forward", str(flux.forward)
        )  # Forcing string conversion to invoke __str__ for rangedNumber
        att.add("backward", str(flux.backward))
        att.add("net", str(flux.net))
        att.add("exchange", str(flux.exchange))

        ns = libsbml.XMLNamespaces()
        token = libsbml.XMLToken(triple, att, ns)
        fluxNode = libsbml.XMLNode(token)

        fluxSBML.addChild(fluxNode)
        return [fluxSBML]

    # A dictionary of note headers, providing three things:
    # 1. A function to use for input from SBML line into dictionary key,
    # 2. An inverse function to use for obtaining SBML line from dict element,
    # 3. A function to produce a label for dictionary in the case of multiple entries (e.g. GCMS)
    noteTypes = {
        'GCMSLabelData':
        (labeling.GCMSLabelData, rFromLinesInDict, rGetAbbrev),
        'GCMSLabelData(fit)':
        (labeling.GCMSLabelData, rFromLinesInDict, rGetAbbrev),
        'LCMSLabelData':
        (labeling.LCMSLabelData, rFromLinesInDict, rGetAbbrev),
        'LCMSLabelData(fit)':
        (labeling.LCMSLabelData, rFromLinesInDict, rGetAbbrev),
        'CEMSLabelData': (labeling.CEMSLabelData, rFromLinesInDict,
                          rGetAbbrev),
        'CEMSLabelData(fit)': (labeling.CEMSLabelData, rFromLinesInDict,
                               rGetAbbrev),
        'DENS': (rPassthrough, '', ''),
        'CARBON TRANSITIONS TYPE': (rPassthrough, '', ''),
        'CARBON_TRANSITIONS': (rToStrippedStr, '', ''),
        'LABELING_DEST': (rToDestInfo, rFromDestInfo, ''),
        'LABELING_SOURCE': (rToTrue, '', ''),
        'EXCLUDED': (rToTrue, '', ''),
        'FEED': (rPassthrough, '', ''),
        'CARBON NUMBER': (rToInt, rFromNumber, ''),
        'FLUX VALUE': (rToFlux, rFromFlux, ''),
        'SUBSYSTEM': (rPassthrough, '', ''),
        'GENE_ASSOCIATION': (rPassthrough, '', ''),
        'PROTEIN_ASSOCIATION': (rPassthrough, '', ''),
        'FORMULA': (rPassthrough, '', '')
    }

    # SBML Notes to notesDict
    if notesSBML != 'unset':
        notesDict = {}
        if not notesSBML:
            return notesDict
        notesBody = notesSBML
        if notesSBML.hasChild('body'):
            notesBody = notesSBML.getChild(0)

        for i in range(notesBody.getNumChildren()):
            nElement = notesBody.getChild(i)
            string = nElement.getChild(0).toXMLString()
            try:
                noteHead, noteContent = string.split(':', 1)
            except ValueError:
                continue
            # If there is an additional XML object inside the note element, past the
            # text string, use that as the note content, rather than the remainder of the string.
            if (nElement.getNumChildren() > 1):
                noteContent = nElement.getChild(1)

            header = noteHead.strip()
            if header in noteTypes:
                recordImportFunction, recordExportFunction, labelGeneratorFunc = noteTypes[
                    header]
                # Eliminate header (e.g. GCMS :) from string
                object = recordImportFunction(noteContent)
            else:
                labelGeneratorFunc = ''
                object = noteContent
            # Store
            # This object is meant to return a dictionary, store as a list for the moment
            if labelGeneratorFunc != '':
                if header in notesDict:
                    notesDict[header].append(object)
                else:
                    notesDict[header] = [object]
            #    One entry
            else:
                notesDict[header] = object

        # Convert lists into dictionaries if labelGeneratorFunc has been provided
        for header in notesDict:
            if header in noteTypes:
                recordImportFunction, recordExportFunction, labelGeneratorFunc = noteTypes[
                    header]
                # if there is a function and it is a list (iterable object)
                if labelGeneratorFunc and getattr(notesDict[header],
                                                  '__iter__', False):
                    dict = {}
                    list = notesDict[header]
                    for object in list:
                        dict[labelGeneratorFunc(object)] = object
                    notesDict[header] = dict

        return notesDict

    # notesDict to SBML Notes
    elif notesDict != 'unset':
        notesSBML = libsbml.XMLNode()

        triple = libsbml.XMLTriple("body", "", "")
        att = libsbml.XMLAttributes()
        ns = libsbml.XMLNamespaces()
        ns.add("http://www.w3.org/1999/xhtml", "")
        token = libsbml.XMLToken(triple, att, ns)
        notesBodyNode = libsbml.XMLNode(token)

        ns.clear()
        triple = libsbml.XMLTriple("p", "", "")
        token = libsbml.XMLToken(triple, att, ns)

        for header in notesDict:
            object = notesDict[header]
            lines = [object]
            if header in noteTypes:
                recordImportFunction, recordExportFunction, labelGeneratorFunc = noteTypes[
                    header]
                if recordExportFunction:
                    lines = recordExportFunction(object)
            # Processing all lines
            for line in lines:
                # If the result of the export function was None, don't bother embedding the note
                if line is None:
                    continue
                node = libsbml.XMLNode(token)
                if isinstance(line, libsbml.XMLNode):
                    tt = libsbml.XMLToken(header + ': ')
                    n1 = libsbml.XMLNode(tt)
                    node.addChild(n1)
                    node.addChild(line)
                else:
                    tt = libsbml.XMLToken(header + ': ' + str(line))
                    n1 = libsbml.XMLNode(tt)
                    node.addChild(n1)
                notesBodyNode.addChild(node)

        notesSBML.addChild(notesBodyNode)
        return notesSBML
    raise Exception('convertSBMLNotes called with no valid input')
 def test_XMLToken_attribute_set_clear(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     nattr = libsbml.XMLAttributes()
     xt1 = libsbml.XMLTriple("name1", "http://name1.org/", "p1")
     xt2 = libsbml.XMLTriple("name2", "http://name2.org/", "p2")
     xt3 = libsbml.XMLTriple("name3", "http://name3.org/", "p3")
     xt4 = libsbml.XMLTriple("name4", "http://name4.org/", "p4")
     xt5 = libsbml.XMLTriple("name5", "http://name5.org/", "p5")
     nattr.add(xt1, "val1")
     nattr.add(xt2, "val2")
     nattr.add(xt3, "val3")
     nattr.add(xt4, "val4")
     nattr.add(xt5, "val5")
     token.setAttributes(nattr)
     self.assert_(token.getAttributesLength() == 5)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("name1" != token.getAttrName(0)) == False)
     self.assert_(("val1" != token.getAttrValue(0)) == False)
     self.assert_(("http://name1.org/" != token.getAttrURI(0)) == False)
     self.assert_(("p1" != token.getAttrPrefix(0)) == False)
     self.assert_(("name2" != token.getAttrName(1)) == False)
     self.assert_(("val2" != token.getAttrValue(1)) == False)
     self.assert_(("http://name2.org/" != token.getAttrURI(1)) == False)
     self.assert_(("p2" != token.getAttrPrefix(1)) == False)
     self.assert_(("name3" != token.getAttrName(2)) == False)
     self.assert_(("val3" != token.getAttrValue(2)) == False)
     self.assert_(("http://name3.org/" != token.getAttrURI(2)) == False)
     self.assert_(("p3" != token.getAttrPrefix(2)) == False)
     self.assert_(("name4" != token.getAttrName(3)) == False)
     self.assert_(("val4" != token.getAttrValue(3)) == False)
     self.assert_(("http://name4.org/" != token.getAttrURI(3)) == False)
     self.assert_(("p4" != token.getAttrPrefix(3)) == False)
     self.assert_(("name5" != token.getAttrName(4)) == False)
     self.assert_(("val5" != token.getAttrValue(4)) == False)
     self.assert_(("http://name5.org/" != token.getAttrURI(4)) == False)
     self.assert_(("p5" != token.getAttrPrefix(4)) == False)
     ntriple = libsbml.XMLTriple("test2", "http://test2.org/", "p2")
     token.setTriple(ntriple)
     self.assert_(("test2" != token.getName()) == False)
     self.assert_(("http://test2.org/" != token.getURI()) == False)
     self.assert_(("p2" != token.getPrefix()) == False)
     token.clearAttributes()
     self.assert_(token.getAttributesLength() == 0)
     self.assert_(token.isAttributesEmpty() != False)
     _dummyList = [nattr]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [ntriple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt1]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt2]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt3]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt4]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt5]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_XMLToken_attribute_add_remove(self):
     triple = libsbml.XMLTriple("test", "", "")
     attr = libsbml.XMLAttributes()
     token = libsbml.XMLToken(triple, attr)
     xt1 = libsbml.XMLTriple("name1", "http://name1.org/", "p1")
     xt2 = libsbml.XMLTriple("name2", "http://name2.org/", "p2")
     xt3 = libsbml.XMLTriple("name3", "http://name3.org/", "p3")
     xt1a = libsbml.XMLTriple("name1", "http://name1a.org/", "p1a")
     xt2a = libsbml.XMLTriple("name2", "http://name2a.org/", "p2a")
     token.addAttr("name1", "val1", "http://name1.org/", "p1")
     token.addAttr(xt2, "val2")
     self.assert_(token.getAttributesLength() == 2)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("name1" != token.getAttrName(0)) == False)
     self.assert_(("val1" != token.getAttrValue(0)) == False)
     self.assert_(("http://name1.org/" != token.getAttrURI(0)) == False)
     self.assert_(("p1" != token.getAttrPrefix(0)) == False)
     self.assert_(("name2" != token.getAttrName(1)) == False)
     self.assert_(("val2" != token.getAttrValue(1)) == False)
     self.assert_(("http://name2.org/" != token.getAttrURI(1)) == False)
     self.assert_(("p2" != token.getAttrPrefix(1)) == False)
     self.assert_(token.getAttrValue("name1") == "")
     self.assert_(token.getAttrValue("name2") == "")
     self.assert_(
         ("val1" != token.getAttrValue("name1", "http://name1.org/")
          ) == False)
     self.assert_(
         ("val2" != token.getAttrValue("name2", "http://name2.org/")
          ) == False)
     self.assert_(("val1" != token.getAttrValue(xt1)) == False)
     self.assert_(("val2" != token.getAttrValue(xt2)) == False)
     self.assert_(token.hasAttr(-1) == False)
     self.assert_(token.hasAttr(2) == False)
     self.assert_(token.hasAttr(0) == True)
     self.assert_(token.hasAttr("name1", "http://name1.org/") == True)
     self.assert_(token.hasAttr("name2", "http://name2.org/") == True)
     self.assert_(token.hasAttr("name3", "http://name3.org/") == False)
     self.assert_(token.hasAttr(xt1) == True)
     self.assert_(token.hasAttr(xt2) == True)
     self.assert_(token.hasAttr(xt3) == False)
     token.addAttr("noprefix", "val3")
     self.assert_(token.getAttributesLength() == 3)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("noprefix" != token.getAttrName(2)) == False)
     self.assert_(("val3" != token.getAttrValue(2)) == False)
     self.assert_(token.getAttrURI(2) == "")
     self.assert_(token.getAttrPrefix(2) == "")
     self.assert_(("val3" != token.getAttrValue("noprefix")) == False)
     self.assert_(("val3" != token.getAttrValue("noprefix", "")) == False)
     self.assert_(token.hasAttr("noprefix") == True)
     self.assert_(token.hasAttr("noprefix", "") == True)
     token.addAttr(xt1, "mval1")
     token.addAttr("name2", "mval2", "http://name2.org/", "p2")
     self.assert_(token.getAttributesLength() == 3)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("name1" != token.getAttrName(0)) == False)
     self.assert_(("mval1" != token.getAttrValue(0)) == False)
     self.assert_(("http://name1.org/" != token.getAttrURI(0)) == False)
     self.assert_(("p1" != token.getAttrPrefix(0)) == False)
     self.assert_(("name2" != token.getAttrName(1)) == False)
     self.assert_(("mval2" != token.getAttrValue(1)) == False)
     self.assert_(("http://name2.org/" != token.getAttrURI(1)) == False)
     self.assert_(("p2" != token.getAttrPrefix(1)) == False)
     self.assert_(token.hasAttr(xt1) == True)
     self.assert_(token.hasAttr("name1", "http://name1.org/") == True)
     token.addAttr("noprefix", "mval3")
     self.assert_(token.getAttributesLength() == 3)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("noprefix" != token.getAttrName(2)) == False)
     self.assert_(("mval3" != token.getAttrValue(2)) == False)
     self.assert_(token.getAttrURI(2) == "")
     self.assert_(token.getAttrPrefix(2) == "")
     self.assert_(token.hasAttr("noprefix") == True)
     self.assert_(token.hasAttr("noprefix", "") == True)
     token.addAttr(xt1a, "val1a")
     token.addAttr(xt2a, "val2a")
     self.assert_(token.getAttributesLength() == 5)
     self.assert_(("name1" != token.getAttrName(3)) == False)
     self.assert_(("val1a" != token.getAttrValue(3)) == False)
     self.assert_(("http://name1a.org/" != token.getAttrURI(3)) == False)
     self.assert_(("p1a" != token.getAttrPrefix(3)) == False)
     self.assert_(("name2" != token.getAttrName(4)) == False)
     self.assert_(("val2a" != token.getAttrValue(4)) == False)
     self.assert_(("http://name2a.org/" != token.getAttrURI(4)) == False)
     self.assert_(("p2a" != token.getAttrPrefix(4)) == False)
     self.assert_(
         ("val1a" != token.getAttrValue("name1", "http://name1a.org/")
          ) == False)
     self.assert_(
         ("val2a" != token.getAttrValue("name2", "http://name2a.org/")
          ) == False)
     self.assert_(("val1a" != token.getAttrValue(xt1a)) == False)
     self.assert_(("val2a" != token.getAttrValue(xt2a)) == False)
     token.removeAttr(xt1a)
     token.removeAttr(xt2a)
     self.assert_(token.getAttributesLength() == 3)
     token.removeAttr("name1", "http://name1.org/")
     self.assert_(token.getAttributesLength() == 2)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("name2" != token.getAttrName(0)) == False)
     self.assert_(("mval2" != token.getAttrValue(0)) == False)
     self.assert_(("http://name2.org/" != token.getAttrURI(0)) == False)
     self.assert_(("p2" != token.getAttrPrefix(0)) == False)
     self.assert_(("noprefix" != token.getAttrName(1)) == False)
     self.assert_(("mval3" != token.getAttrValue(1)) == False)
     self.assert_(token.getAttrURI(1) == "")
     self.assert_(token.getAttrPrefix(1) == "")
     self.assert_(token.hasAttr("name1", "http://name1.org/") == False)
     token.removeAttr(xt2)
     self.assert_(token.getAttributesLength() == 1)
     self.assert_(token.isAttributesEmpty() == False)
     self.assert_(("noprefix" != token.getAttrName(0)) == False)
     self.assert_(("mval3" != token.getAttrValue(0)) == False)
     self.assert_(token.getAttrURI(0) == "")
     self.assert_(token.getAttrPrefix(0) == "")
     self.assert_(token.hasAttr(xt2) == False)
     self.assert_(token.hasAttr("name2", "http://name2.org/") == False)
     token.removeAttr("noprefix")
     self.assert_(token.getAttributesLength() == 0)
     self.assert_(token.isAttributesEmpty() == True)
     self.assert_(token.hasAttr("noprefix") == False)
     self.assert_(token.hasAttr("noprefix", "") == False)
     _dummyList = [token]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt1]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt2]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt3]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt1a]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [xt2a]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [triple]
     _dummyList[:] = []
     del _dummyList
     _dummyList = [attr]
     _dummyList[:] = []
     del _dummyList
     pass