| # Copyright (C) 2003 Python Software Foundation |
| |
| import unittest |
| import os |
| from test import test_support |
| |
| aetypes = test_support.import_module('aetypes') |
| aepack = test_support.import_module('aepack') |
| |
| class TestAepack(unittest.TestCase): |
| OBJECTS = [ |
| aetypes.Enum('enum'), |
| aetypes.Type('type'), |
| aetypes.Keyword('kwrd'), |
| aetypes.Range(1, 10), |
| aetypes.Comparison(1, '< ', 10), |
| aetypes.Logical('not ', 1), |
| aetypes.IntlText(0, 0, 'international text'), |
| aetypes.IntlWritingCode(0,0), |
| aetypes.QDPoint(50,100), |
| aetypes.QDRectangle(50,100,150,200), |
| aetypes.RGBColor(0x7000, 0x6000, 0x5000), |
| aetypes.Unknown('xxxx', 'unknown type data'), |
| aetypes.Character(1), |
| aetypes.Character(2, aetypes.Line(2)), |
| ] |
| |
| def test_roundtrip_string(self): |
| o = 'a string' |
| packed = aepack.pack(o) |
| unpacked = aepack.unpack(packed) |
| self.assertEqual(o, unpacked) |
| |
| def test_roundtrip_int(self): |
| o = 12 |
| packed = aepack.pack(o) |
| unpacked = aepack.unpack(packed) |
| self.assertEqual(o, unpacked) |
| |
| def test_roundtrip_float(self): |
| o = 12.1 |
| packed = aepack.pack(o) |
| unpacked = aepack.unpack(packed) |
| self.assertEqual(o, unpacked) |
| |
| def test_roundtrip_None(self): |
| o = None |
| packed = aepack.pack(o) |
| unpacked = aepack.unpack(packed) |
| self.assertEqual(o, unpacked) |
| |
| def test_roundtrip_aeobjects(self): |
| for o in self.OBJECTS: |
| packed = aepack.pack(o) |
| unpacked = aepack.unpack(packed) |
| self.assertEqual(repr(o), repr(unpacked)) |
| |
| def test_roundtrip_FSSpec(self): |
| try: |
| import Carbon.File |
| except: |
| return |
| |
| if not hasattr(Carbon.File, "FSSpec"): |
| return |
| o = Carbon.File.FSSpec(os.curdir) |
| packed = aepack.pack(o) |
| unpacked = aepack.unpack(packed) |
| self.assertEqual(o.as_pathname(), unpacked.as_pathname()) |
| |
| def test_roundtrip_Alias(self): |
| try: |
| import Carbon.File |
| except: |
| return |
| if not hasattr(Carbon.File, "FSSpec"): |
| return |
| o = Carbon.File.FSSpec(os.curdir).NewAliasMinimal() |
| packed = aepack.pack(o) |
| unpacked = aepack.unpack(packed) |
| self.assertEqual(o.FSResolveAlias(None)[0].as_pathname(), |
| unpacked.FSResolveAlias(None)[0].as_pathname()) |
| |
| |
| def test_main(): |
| test_support.run_unittest(TestAepack) |
| |
| |
| if __name__ == '__main__': |
| test_main() |