| # 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() |