home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / test_xdrlib.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  1.5 KB  |  57 lines

  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()
  57.