Changeset 54 for branches/pyyaml3000/tests/test_structure.py
- Timestamp:
- 02/20/06 15:46:35 (7 years ago)
- File:
-
- 1 edited
-
branches/pyyaml3000/tests/test_structure.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/pyyaml3000/tests/test_structure.py
r53 r54 5 5 from yaml.scanner import Scanner 6 6 from yaml.parser import * 7 from yaml.composer import * 8 from yaml.resolver import * 9 from yaml.nodes import * 7 10 8 11 class TestStructure(test_appliance.TestAppliance): … … 97 100 pass 98 101 102 TestParser.add_tests('testParser', '.data', '.canonical') 99 103 100 TestParser.add_tests('testParser', '.data', '.canonical') 104 class TestResolver(test_appliance.TestAppliance): 105 106 def _testResolver(self, test_name, data_filename, canonical_filename): 107 nodes1 = None 108 nodes2 = None 109 try: 110 resolver1 = Resolver(Composer(Parser(Scanner(Reader(file(data_filename, 'rb')))))) 111 nodes1 = list(iter(resolver1)) 112 canonical = test_appliance.CanonicalParser(file(canonical_filename, 'rb').read()) 113 canonical.parse() 114 resolver2 = Resolver(Composer(canonical)) 115 nodes2 = list(iter(resolver2)) 116 self.failUnlessEqual(len(nodes1), len(nodes2)) 117 for node1, node2 in zip(nodes1, nodes2): 118 self._compare(node1, node2) 119 except: 120 print 121 print "DATA1:" 122 print file(data_filename, 'rb').read() 123 print "DATA2:" 124 print file(canonical_filename, 'rb').read() 125 print "NODES1:", nodes1 126 print "NODES2:", nodes2 127 raise 128 129 def _compare(self, node1, node2): 130 self.failUnlessEqual(node1.__class__, node2.__class__) 131 if isinstance(node1, ScalarNode): 132 #self.failUnlessEqual(node1.tag, node2.tag) 133 self.failUnlessEqual(node1.value, node2.value) 134 elif isinstance(node1, SequenceNode): 135 self.failUnlessEqual(len(node1.value), len(node2.value)) 136 for item1, item2 in zip(node1.value, node2.value): 137 self._compare(item1, item2) 138 elif isinstance(node1, MappingNode): 139 self.failUnlessEqual(len(node1.value), len(node2.value)) 140 for (key1, value1), (key2, value2) in zip(node1.value, node2.value): 141 self._compare(key1, key2) 142 self._compare(value1, value2) 143 144 TestResolver.add_tests('testResolver', '.data', '.canonical') 101 145 102 146 class TestParserOnCanonical(test_appliance.TestAppliance):
Note: See TracChangeset
for help on using the changeset viewer.
