home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_396 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.2 KB  |  53 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from ctypes import *
  5. import unittest
  6.  
  7. class VarSizeTest(unittest.TestCase):
  8.     
  9.     def test_resize(self):
  10.         
  11.         class X(Structure):
  12.             _fields_ = [
  13.                 ('item', c_int),
  14.                 ('array', c_int * 1)]
  15.  
  16.         self.failUnlessEqual(sizeof(X), sizeof(c_int) * 2)
  17.         x = X()
  18.         x.item = 42
  19.         x.array[0] = 100
  20.         self.failUnlessEqual(sizeof(x), sizeof(c_int) * 2)
  21.         new_size = sizeof(X) + sizeof(c_int) * 1
  22.         resize(x, new_size)
  23.         self.failUnlessEqual(sizeof(x), new_size)
  24.         self.failUnlessEqual((x.item, x.array[0]), (42, 100))
  25.         new_size = sizeof(X) + sizeof(c_int) * 9
  26.         resize(x, new_size)
  27.         self.failUnlessEqual(sizeof(x), new_size)
  28.         self.failUnlessEqual((x.item, x.array[0]), (42, 100))
  29.         new_size = sizeof(X) + sizeof(c_int) * 1
  30.         resize(x, new_size)
  31.         self.failUnlessEqual(sizeof(x), new_size)
  32.         self.failUnlessEqual((x.item, x.array[0]), (42, 100))
  33.  
  34.     
  35.     def test_array_invalid_length(self):
  36.         self.failUnlessRaises(ValueError, (lambda : c_int * -1))
  37.         self.failUnlessRaises(ValueError, (lambda : c_int * -3))
  38.  
  39.     
  40.     def test_zerosized_array(self):
  41.         array = c_int * 0()
  42.         self.failUnlessRaises(IndexError, array.__setitem__, 0, None)
  43.         self.failUnlessRaises(IndexError, array.__getitem__, 0)
  44.         self.failUnlessRaises(IndexError, array.__setitem__, 1, None)
  45.         self.failUnlessRaises(IndexError, array.__getitem__, 1)
  46.         self.failUnlessRaises(IndexError, array.__setitem__, -1, None)
  47.         self.failUnlessRaises(IndexError, array.__getitem__, -1)
  48.  
  49.  
  50. if __name__ == '__main__':
  51.     unittest.main()
  52.  
  53.