]> granicus.if.org Git - python/commitdiff
Moved aepack test code to the test suite.
authorJack Jansen <jack.jansen@cwi.nl>
Wed, 29 Jan 2003 10:41:18 +0000 (10:41 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Wed, 29 Jan 2003 10:41:18 +0000 (10:41 +0000)
Lib/plat-mac/aepack.py
Lib/test/test_aepack.py [new file with mode: 0755]

index 6797473199b80a670eed7af572e5cb7a32327a45..bfe539a542a923b00c6e9dc578e2e184068491dc 100644 (file)
@@ -343,43 +343,3 @@ def mkobjectfrommodule(dict, modulename):
        if classtype:
                newobj.__class__ = classtype
        return newobj
-
-def _test():
-       """Test program. Pack and unpack various things"""
-       objs = [
-               'a string',
-               12,
-               12.0,
-               None,
-               ['a', 'list', 'of', 'strings'],
-               {'key1': 'value1', 'key2':'value2'},
-               Carbon.File.FSSpec(os.curdir),
-               Carbon.File.FSSpec(os.curdir).NewAliasMinimal(),
-               aetypes.Enum('enum'),
-               aetypes.Type('type'),
-               aetypes.Keyword('kwrd'),
-               aetypes.Range(1, 10),
-               aetypes.Comparison(1, '<   ', 10),
-               aetypes.Logical('not ', 1),
-               # Cannot do StyledText
-               # Cannot do AEText
-               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)),
-       ]
-       for o in objs:
-               print 'BEFORE', o, `o`
-               packed = pack(o)
-               unpacked = unpack(packed)
-               print 'AFTER ', unpacked, `unpacked`
-       import sys
-       sys.exit(1)
-       
-if __name__ == '__main__':
-       _test()
-       
diff --git a/Lib/test/test_aepack.py b/Lib/test/test_aepack.py
new file mode 100755 (executable)
index 0000000..70b89de
--- /dev/null
@@ -0,0 +1,84 @@
+# Copyright (C) 2003 Python Software Foundation
+
+import unittest
+import aepack
+import aetypes
+import os
+from test import test_support
+
+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
+        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
+        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()