Changeset 6 for trunk/tests/test_syck.py
- Timestamp:
- 07/17/05 12:08:23 (8 years ago)
- File:
-
- 1 edited
-
trunk/tests/test_syck.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/test_syck.py
r4 r6 163 163 parser = _syck.Parser(EXAMPLE) 164 164 self.assertEqual(type(parser), _syck.ParserType) 165 parser.close()166 165 167 166 def testNodeType(self): … … 169 168 document = parser.parse() 170 169 self.assertEqual(type(document), _syck.NodeType) 171 parser.close()172 170 173 171 def testNodeType2(self): … … 179 177 parser = _syck.Parser(INVALID[0]) 180 178 self.assertRaises(_syck.error, (lambda: parser.parse())) 181 parser.close()182 179 183 180 def testErrorLocation(self): … … 191 188 self.assertEqual(e.args[2], column) 192 189 193 class TestValuesAndSources(unittest.TestCase): 194 195 def testValues1(self): 196 self._testValues(COMPARE1) 197 198 def testValues2(self): 199 self._testValues(COMPARE2) 200 201 def testValues3(self): 202 self._testValues(COMPARE3) 203 204 def testFileValues1(self): 205 self._testFileValues(COMPARE1) 206 207 def testFileValues2(self): 208 self._testFileValues(COMPARE2) 209 210 def testFileValues3(self): 211 self._testFileValues(COMPARE3) 212 213 def testNonsense(self): 214 parser = _syck.Parser(None) 215 self.assertRaises(AttributeError, (lambda: parser.parse())) 216 parser.close() 217 218 def _testValues(self, (source, structure)): 219 parser = _syck.Parser(source) 220 document = parser.parse() 221 self.assertEqualStructure(document, structure) 222 parser.close() 223 224 def _testFileValues(self, (source, structure)): 225 parser = _syck.Parser(StringIO.StringIO(source)) 226 document = parser.parse() 227 self.assertEqualStructure(document, structure) 228 parser.close() 190 class EqualStructure: 229 191 230 192 def assertEqualStructure(self, node, structure): … … 244 206 self.assertEqualStructure(node.value[key], structure[key.value]) 245 207 208 class TestValuesAndSources(unittest.TestCase, EqualStructure): 209 210 def testValues1(self): 211 self._testValues(COMPARE1) 212 213 def testValues2(self): 214 self._testValues(COMPARE2) 215 216 def testValues3(self): 217 self._testValues(COMPARE3) 218 219 def testFileValues1(self): 220 self._testFileValues(COMPARE1) 221 222 def testFileValues2(self): 223 self._testFileValues(COMPARE2) 224 225 def testFileValues3(self): 226 self._testFileValues(COMPARE3) 227 228 def testNonsense(self): 229 parser = _syck.Parser(None) 230 self.assertRaises(AttributeError, (lambda: parser.parse())) 231 232 def _testValues(self, (source, structure)): 233 parser = _syck.Parser(source) 234 document = parser.parse() 235 self.assertEqualStructure(document, structure) 236 237 def _testFileValues(self, (source, structure)): 238 parser = _syck.Parser(StringIO.StringIO(source)) 239 document = parser.parse() 240 self.assertEqualStructure(document, structure) 241 242 class TestResolver(unittest.TestCase, EqualStructure): 243 244 object = 12345 245 246 def object_resolver(self, node): 247 return self.object 248 249 def simple_resolver(self, node): 250 return node.value 251 252 def default_resolver(self, node): 253 return node 254 255 def call_me_not_resolver(self, node): 256 self.call_me_not_parser.parse() 257 return node 258 259 def testResolver1(self): 260 self._testResolver(COMPARE1) 261 262 def testResolver2(self): 263 self._testResolver(COMPARE2) 264 265 def testResolver3(self): 266 self._testResolver(COMPARE3) 267 268 def testCallMeNot(self): 269 self.call_me_not_parser = _syck.Parser(EXAMPLE, self.call_me_not_resolver) 270 self.assertRaises(RuntimeError, (lambda: self.call_me_not_parser.parse())) 271 del self.call_me_not_parser 272 273 def _testResolver(self, compare): 274 self._testObject(compare) 275 self._testSimple(compare) 276 self._testDefault(compare) 277 self._testNone(compare) 278 279 def _testObject(self, (source, structure)): 280 parser = _syck.Parser(source, self.object_resolver) 281 document = parser.parse() 282 self.assert_(document is self.object) 283 284 def _testSimple(self, (source, structure)): 285 parser = _syck.Parser(source, self.simple_resolver) 286 document = parser.parse() 287 self.assert_(document, structure) 288 289 def _testDefault(self, (source, structure)): 290 parser = _syck.Parser(source, resolver=self.default_resolver) 291 document = parser.parse() 292 self.assertEqualStructure(document, structure) 293 294 def _testNone(self, (source, structure)): 295 parser = _syck.Parser(source, resolver=None) 296 document = parser.parse() 297 self.assertEqualStructure(document, structure) 298 246 299 class TestDocuments(unittest.TestCase): 247 300 … … 260 313 def _testDocuments(self, source, length): 261 314 parser = _syck.Parser(source) 262 documents = parser.parse_documents() 263 self.assertEqual(len(documents), length) 264 parser.close() 265 parser = _syck.Parser(source) 266 for k in range(length): 315 actual_length = 0 316 while True: 267 317 document = parser.parse() 268 self.assert_(document) 318 if parser.eof(): 319 self.assertEqual(document, None) 320 break 321 actual_length += 1 322 self.assertEqual(actual_length, length) 269 323 self.assertEqual(parser.parse(), None) 270 parser.close() 324 self.assert_(parser.eof()) 325 self.assertEqual(parser.parse(), None) 326 self.assert_(parser.eof()) 271 327 272 328 class TestImplicitTyping(unittest.TestCase): … … 285 341 286 342 def _testTyping(self, implicit_typing, taguri_expansion): 287 parser = _syck.Parser(IMPLICIT_TYPING[0], implicit_typing, taguri_expansion)343 parser = _syck.Parser(IMPLICIT_TYPING[0], None, implicit_typing, taguri_expansion) 288 344 for node, (type_id, explicit) in zip(parser.parse().value, IMPLICIT_TYPING[1]): 289 345 if type_id is not None and taguri_expansion:
Note: See TracChangeset
for help on using the changeset viewer.
