home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 June / maximum-cd-2011-06.iso / DiscContents / LibO_3.3.1_Win_x86_install_multi.exe / libreoffice1.cab / test_structmembers.py < prev    next >
Encoding:
Python Source  |  2011-02-15  |  3.3 KB  |  108 lines

  1. from _testcapi import test_structmembersType, \
  2.     CHAR_MAX, CHAR_MIN, UCHAR_MAX, \
  3.     SHRT_MAX, SHRT_MIN, USHRT_MAX, \
  4.     INT_MAX, INT_MIN, UINT_MAX, \
  5.     LONG_MAX, LONG_MIN, ULONG_MAX, \
  6.     LLONG_MAX, LLONG_MIN, ULLONG_MAX
  7.  
  8. import warnings, exceptions, unittest, sys
  9. from test import test_support
  10.  
  11. ts=test_structmembersType(False, 1, 2, 3, 4, 5, 6, 7, 8,
  12.                           9.99999, 10.1010101010)
  13.  
  14. class ReadWriteTests(unittest.TestCase):
  15.     def test_types(self):
  16.         ts.T_BOOL = True
  17.         self.assertEquals(ts.T_BOOL, True)
  18.         ts.T_BOOL = False
  19.         self.assertEquals(ts.T_BOOL, False)
  20.         self.assertRaises(TypeError, setattr, ts, 'T_BOOL', 1)
  21.  
  22.         ts.T_BYTE = CHAR_MAX
  23.         self.assertEquals(ts.T_BYTE, CHAR_MAX)
  24.         ts.T_BYTE = CHAR_MIN
  25.         self.assertEquals(ts.T_BYTE, CHAR_MIN)
  26.         ts.T_UBYTE = UCHAR_MAX
  27.         self.assertEquals(ts.T_UBYTE, UCHAR_MAX)
  28.  
  29.         ts.T_SHORT = SHRT_MAX
  30.         self.assertEquals(ts.T_SHORT, SHRT_MAX)
  31.         ts.T_SHORT = SHRT_MIN
  32.         self.assertEquals(ts.T_SHORT, SHRT_MIN)
  33.         ts.T_USHORT = USHRT_MAX
  34.         self.assertEquals(ts.T_USHORT, USHRT_MAX)
  35.  
  36.         ts.T_INT = INT_MAX
  37.         self.assertEquals(ts.T_INT, INT_MAX)
  38.         ts.T_INT = INT_MIN
  39.         self.assertEquals(ts.T_INT, INT_MIN)
  40.         ts.T_UINT = UINT_MAX
  41.         self.assertEquals(ts.T_UINT, UINT_MAX)
  42.  
  43.         ts.T_LONG = LONG_MAX
  44.         self.assertEquals(ts.T_LONG, LONG_MAX)
  45.         ts.T_LONG = LONG_MIN
  46.         self.assertEquals(ts.T_LONG, LONG_MIN)
  47.         ts.T_ULONG = ULONG_MAX
  48.         self.assertEquals(ts.T_ULONG, ULONG_MAX)
  49.  
  50.         ## T_LONGLONG and T_ULONGLONG may not be present on some platforms
  51.         if hasattr(ts, 'T_LONGLONG'):
  52.             ts.T_LONGLONG = LLONG_MAX
  53.             self.assertEquals(ts.T_LONGLONG, LLONG_MAX)
  54.             ts.T_LONGLONG = LLONG_MIN
  55.             self.assertEquals(ts.T_LONGLONG, LLONG_MIN)
  56.  
  57.             ts.T_ULONGLONG = ULLONG_MAX
  58.             self.assertEquals(ts.T_ULONGLONG, ULLONG_MAX)
  59.  
  60.             ## make sure these will accept a plain int as well as a long
  61.             ts.T_LONGLONG = 3
  62.             self.assertEquals(ts.T_LONGLONG, 3)
  63.             ts.T_ULONGLONG = 4
  64.             self.assertEquals(ts.T_ULONGLONG, 4)
  65.  
  66.  
  67. class TestWarnings(unittest.TestCase):
  68.     def has_warned(self, w):
  69.         self.assertEqual(w.category, RuntimeWarning)
  70.  
  71.     def test_byte_max(self):
  72.         with test_support.check_warnings() as w:
  73.             ts.T_BYTE = CHAR_MAX+1
  74.             self.has_warned(w)
  75.  
  76.     def test_byte_min(self):
  77.         with test_support.check_warnings() as w:
  78.             ts.T_BYTE = CHAR_MIN-1
  79.             self.has_warned(w)
  80.  
  81.     def test_ubyte_max(self):
  82.         with test_support.check_warnings() as w:
  83.             ts.T_UBYTE = UCHAR_MAX+1
  84.             self.has_warned(w)
  85.  
  86.     def test_short_max(self):
  87.         with test_support.check_warnings() as w:
  88.             ts.T_SHORT = SHRT_MAX+1
  89.             self.has_warned(w)
  90.  
  91.     def test_short_min(self):
  92.         with test_support.check_warnings() as w:
  93.             ts.T_SHORT = SHRT_MIN-1
  94.             self.has_warned(w)
  95.  
  96.     def test_ushort_max(self):
  97.         with test_support.check_warnings() as w:
  98.             ts.T_USHORT = USHRT_MAX+1
  99.             self.has_warned(w)
  100.  
  101.  
  102.  
  103. def test_main(verbose=None):
  104.     test_support.run_unittest(__name__)
  105.  
  106. if __name__ == "__main__":
  107.     test_main(verbose=True)
  108.