Ignore:
Timestamp:
Feb 7, 2008, 6:28:04 PM (17 years ago)
Author:
ole
Message:

Progress on XML object model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/utilities/test_xml_tools.py

    r4976 r5008  
    44import unittest
    55from Numeric import zeros, array, allclose, Float
    6 from tempfile import NamedTemporaryFile
     6from tempfile import mkstemp, mktemp
     7
    78import os
    89
     
    1718        pass
    1819
    19     def notest_generate_xml(self):
     20    def test_generate_xml(self):
    2021        """Test that xml code is generated from XMLobject model
    2122        """
     
    4445        doc = XML_document(contents=X)
    4546
    46         print doc
     47        #print doc.pretty_print()       
     48        #print doc
     49        assert doc['all']['second element']['texts']['title 4'].elements == 'example text 4'
    4750
    48         print doc.pretty_print()
    4951       
    5052
    51     def notest_xml2object(self):
     53    def test_xml2object(self):
    5254        """Test that XML_document can be generated from file
    5355        """
    5456
    55         fid = NamedTemporaryFile(mode='w',
    56                                  suffix='.xml',
    57                                  dir='.')
    58 
     57        tmp_fd , tmp_name = mkstemp(suffix='.xml', dir='.')
     58        fid = os.fdopen(tmp_fd, 'w')
     59       
    5960        xml_string = """<?xml version="1.0" encoding="iso-8859-1"?>
    60 
    6161  <ga_license_file>
    6262    <metadata>
     
    7979      <IP_info>This is a test</IP_info>
    8080    </datafile>
    81 
    8281  </ga_license_file>
    8382""" %('1234')
    8483
    8584        fid.write(xml_string)
    86         fid.flush()
     85        fid.close()
    8786
    88         print fid.read()
     87        fid = open(tmp_name)
     88        reference = fid.read()
     89        reflines = reference.split('\n')
    8990       
    90         xml2object(fid, verbose=True)
     91        xmlobject = xml2object(fid, verbose=True)
     92
     93
     94        #print xmlobject.pretty_print()
     95       
     96        xmllines = str(xmlobject).split('\n')
     97
     98        #for line in reflines:
     99        #    print line
     100        #print   
     101        #for line in xmllines:
     102        #    print line           
     103
     104           
     105        assert len(reflines) == len(xmllines)
     106
     107        for i, refline in enumerate(reflines):
     108            msg = '%s != %s' %(refline.strip(), xmllines[i].strip())
     109            assert refline.strip() == xmllines[i].strip(), msg
     110
     111        # Check dictionary behaviour   
     112        for tag in xmlobject['ga_license_file'].keys():
     113            xmlobject['ga_license_file'][tag]
     114
     115        assert xmlobject['ga_license_file']['datafile']['accountable'].elements == 'Jane Sexton'
     116       
     117
     118        #print
     119        #print
     120        #print xmlobject['ga_license_file']['metadata']
     121        #print xmlobject['ga_license_file']['datafile']
     122        #print xmlobject['ga_license_file']['datafile']['accountable']       
     123
     124        #print xmlobject['ga_license_file'].keys()
     125
     126        #for tag in xmlobject['ga_license_file'].keys():
     127        #    print xmlobject['ga_license_file'][tag]
    91128               
    92129        # Clean up
    93 
    94130        fid.close()
    95131
Note: See TracChangeset for help on using the changeset viewer.