symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_xdrlib.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 from test import test_support
       
     2 import unittest
       
     3 
       
     4 import xdrlib
       
     5 
       
     6 class XDRTest(unittest.TestCase):
       
     7 
       
     8     def test_xdr(self):
       
     9         p = xdrlib.Packer()
       
    10 
       
    11         s = 'hello world'
       
    12         a = ['what', 'is', 'hapnin', 'doctor']
       
    13 
       
    14         p.pack_int(42)
       
    15         p.pack_uint(9)
       
    16         p.pack_bool(True)
       
    17         p.pack_bool(False)
       
    18         p.pack_uhyper(45L)
       
    19         p.pack_float(1.9)
       
    20         p.pack_double(1.9)
       
    21         p.pack_string(s)
       
    22         p.pack_list(range(5), p.pack_uint)
       
    23         p.pack_array(a, p.pack_string)
       
    24 
       
    25         # now verify
       
    26         data = p.get_buffer()
       
    27         up = xdrlib.Unpacker(data)
       
    28 
       
    29         self.assertEqual(up.get_position(), 0)
       
    30 
       
    31         self.assertEqual(up.unpack_int(), 42)
       
    32         self.assertEqual(up.unpack_uint(), 9)
       
    33         self.assert_(up.unpack_bool() is True)
       
    34 
       
    35         # remember position
       
    36         pos = up.get_position()
       
    37         self.assert_(up.unpack_bool() is False)
       
    38 
       
    39         # rewind and unpack again
       
    40         up.set_position(pos)
       
    41         self.assert_(up.unpack_bool() is False)
       
    42 
       
    43         self.assertEqual(up.unpack_uhyper(), 45L)
       
    44         self.assertAlmostEqual(up.unpack_float(), 1.9)
       
    45         self.assertAlmostEqual(up.unpack_double(), 1.9)
       
    46         self.assertEqual(up.unpack_string(), s)
       
    47         self.assertEqual(up.unpack_list(up.unpack_uint), range(5))
       
    48         self.assertEqual(up.unpack_array(up.unpack_string), a)
       
    49         up.done()
       
    50         self.assertRaises(EOFError, up.unpack_uint)
       
    51 
       
    52 def test_main():
       
    53     test_support.run_unittest(XDRTest)
       
    54 
       
    55 if __name__ == "__main__":
       
    56     test_main()