Ignore:
Timestamp:
08/12/05 16:15:19 (9 years ago)
Author:
xi
Message:

syck.dump() is implemented.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/test_dumper.py

    r19 r20  
    22import unittest 
    33import syck 
    4 import StringIO 
     4import StringIO, datetime, sets 
    55import test_emitter 
    66 
     
    1515    'Sammy Sosa', 
    1616    'Ken Griffey', 
     17] 
     18 
     19ALIAS_SCALAR = ["foo, bar, and baz"] 
     20ALIAS_SCALAR.append(ALIAS_SCALAR[0]) 
     21ALIAS_SCALAR.append(ALIAS_SCALAR[0]) 
     22ALIAS_SCALAR.append(ALIAS_SCALAR[0]) 
     23 
     24ALIAS_SEQ = [['foo', ['bar']]] 
     25ALIAS_SEQ.append(ALIAS_SEQ[0]) 
     26ALIAS_SEQ.append(ALIAS_SEQ[0]) 
     27 
     28ALIAS_MAP = [{'foo': 'bar'}] 
     29ALIAS_MAP.append(ALIAS_MAP[0]) 
     30 
     31ODD_ALIASES = [ 
     32    [None]*2, 
     33    [0]*3, 
     34    [1]*4, 
     35    [100]*5, 
     36    ['']*6, 
     37    ['foo']*7, 
     38] 
     39 
     40INF = 1e300000 
     41NAN = INF/INF 
     42 
     43SCALARS = [ 
     44    None, 
     45    True, False, 
     46    0, 123, -4567, 
     47    123.4e-5, INF, NAN, 
     48    'foo, bar, baz', 
     49    datetime.datetime(2001, 12, 15, 2, 59, 43, 100000), 
     50] 
     51 
     52COLLECTIONS = [ 
     53    sets.Set(range(10)), 
    1754] 
    1855 
     
    73110                map(test_emitter.strip, nodes)) 
    74111 
     112class TestAliases(unittest.TestCase): 
     113 
     114    def testAliases(self): 
     115        self._testAlias(ALIAS_SCALAR) 
     116        self._testAlias(ALIAS_SEQ) 
     117        self._testAlias(ALIAS_MAP) 
     118 
     119    def _testAlias(self, objects): 
     120        objects = syck.load(syck.dump(objects)) 
     121        for object in objects: 
     122            self.assert_(object is objects[0]) 
     123 
     124class TestNoOddAliases(unittest.TestCase): 
     125 
     126    def testOddAliases(self): 
     127        document = syck.parse(syck.dump(ODD_ALIASES)) 
     128        for group in document.value: 
     129            for item in group.value[1:]: 
     130                self.assert_(item is not group.value[0]) 
     131 
     132class TestScalarTypes(unittest.TestCase): 
     133 
     134    def testScalarTypes(self): 
     135        scalars = syck.load(syck.dump(SCALARS)) 
     136        for a, b in zip(scalars, SCALARS): 
     137            self.assertEqual(type(a), type(b)) 
     138            self.assertEqual(a, b) 
     139 
     140class TestCollectionTypes(unittest.TestCase): 
     141 
     142    def testCollectionTypes(self): 
     143        collections = syck.load(syck.dump(COLLECTIONS)) 
     144        for a, b in zip(collections, COLLECTIONS): 
     145            self.assertEqual(type(a), type(b)) 
     146            self.assertEqual(a, b) 
     147 
     148 
Note: See TracChangeset for help on using the changeset viewer.