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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from ctypes import *
  5. import unittest
  6. import sys
  7.  
  8. class Test(unittest.TestCase):
  9.     
  10.     def test_array2pointer(self):
  11.         array = c_int * 3(42, 17, 2)
  12.         ptr = cast(array, POINTER(c_int))
  13.         []([ ptr[i] for i in range(3) ], [
  14.             42,
  15.             17,
  16.             2])
  17.  
  18.     
  19.     def test_address2pointer(self):
  20.         array = c_int * 3(42, 17, 2)
  21.         address = addressof(array)
  22.         ptr = cast(c_void_p(address), POINTER(c_int))
  23.         []([ ptr[i] for i in range(3) ], [
  24.             42,
  25.             17,
  26.             2])
  27.         ptr = cast(address, POINTER(c_int))
  28.         []([ ptr[i] for i in range(3) ], [
  29.             42,
  30.             17,
  31.             2])
  32.  
  33.     
  34.     def test_p2a_objects(self):
  35.         array = c_char_p * 5()
  36.         self.failUnlessEqual(array._objects, None)
  37.         array[0] = 'foo bar'
  38.         self.failUnlessEqual(array._objects, {
  39.             '0': 'foo bar' })
  40.         p = cast(array, POINTER(c_char_p))
  41.         self.failUnless(p._objects is array._objects)
  42.         self.failUnlessEqual(array._objects, {
  43.             '0': 'foo bar',
  44.             id(array): array })
  45.         p[0] = 'spam spam'
  46.         self.failUnlessEqual(p._objects, {
  47.             '0': 'spam spam',
  48.             id(array): array })
  49.         self.failUnless(array._objects is p._objects)
  50.         p[1] = 'foo bar'
  51.         self.failUnlessEqual(p._objects, {
  52.             '1': 'foo bar',
  53.             '0': 'spam spam',
  54.             id(array): array })
  55.         self.failUnless(array._objects is p._objects)
  56.  
  57.     
  58.     def test_other(self):
  59.         p = cast(c_int * 4(1, 2, 3, 4), POINTER(c_int))
  60.         self.failUnlessEqual(p[:4], [
  61.             1,
  62.             2,
  63.             3,
  64.             4])
  65.         self.failUnlessEqual(p[:4:], [
  66.             1,
  67.             2,
  68.             3,
  69.             4])
  70.         self.failUnlessEqual(p[3:-1:-1], [
  71.             4,
  72.             3,
  73.             2,
  74.             1])
  75.         self.failUnlessEqual(p[:4:3], [
  76.             1,
  77.             4])
  78.         c_int()
  79.         self.failUnlessEqual(p[:4], [
  80.             1,
  81.             2,
  82.             3,
  83.             4])
  84.         self.failUnlessEqual(p[:4:], [
  85.             1,
  86.             2,
  87.             3,
  88.             4])
  89.         self.failUnlessEqual(p[3:-1:-1], [
  90.             4,
  91.             3,
  92.             2,
  93.             1])
  94.         self.failUnlessEqual(p[:4:3], [
  95.             1,
  96.             4])
  97.         p[2] = 96
  98.         self.failUnlessEqual(p[:4], [
  99.             1,
  100.             2,
  101.             96,
  102.             4])
  103.         self.failUnlessEqual(p[:4:], [
  104.             1,
  105.             2,
  106.             96,
  107.             4])
  108.         self.failUnlessEqual(p[3:-1:-1], [
  109.             4,
  110.             96,
  111.             2,
  112.             1])
  113.         self.failUnlessEqual(p[:4:3], [
  114.             1,
  115.             4])
  116.         c_int()
  117.         self.failUnlessEqual(p[:4], [
  118.             1,
  119.             2,
  120.             96,
  121.             4])
  122.         self.failUnlessEqual(p[:4:], [
  123.             1,
  124.             2,
  125.             96,
  126.             4])
  127.         self.failUnlessEqual(p[3:-1:-1], [
  128.             4,
  129.             96,
  130.             2,
  131.             1])
  132.         self.failUnlessEqual(p[:4:3], [
  133.             1,
  134.             4])
  135.  
  136.     
  137.     def test_char_p(self):
  138.         s = c_char_p('hiho')
  139.         self.failUnlessEqual(cast(cast(s, c_void_p), c_char_p).value, 'hiho')
  140.  
  141.     
  142.     try:
  143.         c_wchar_p
  144.     except NameError:
  145.         pass
  146.  
  147.     
  148.     def test_wchar_p(self):
  149.         s = c_wchar_p('hiho')
  150.         self.failUnlessEqual(cast(cast(s, c_void_p), c_wchar_p).value, 'hiho')
  151.  
  152.  
  153. if __name__ == '__main__':
  154.     unittest.main()
  155.  
  156.