home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / test_rgbimg.py < prev    next >
Text File  |  2003-12-30  |  2KB  |  64 lines

  1. # Testing rgbimg module
  2.  
  3. import rgbimg, os, uu
  4.  
  5. from test.test_support import verbose, unlink, findfile
  6.  
  7. class error(Exception):
  8.     pass
  9.  
  10. print 'RGBimg test suite:'
  11.  
  12. def testimg(rgb_file, raw_file):
  13.     rgb_file = findfile(rgb_file)
  14.     raw_file = findfile(raw_file)
  15.     width, height = rgbimg.sizeofimage(rgb_file)
  16.     rgb = rgbimg.longimagedata(rgb_file)
  17.     if len(rgb) != width * height * 4:
  18.         raise error, 'bad image length'
  19.     raw = open(raw_file, 'rb').read()
  20.     if rgb != raw:
  21.         raise error, \
  22.               'images don\'t match for '+rgb_file+' and '+raw_file
  23.     for depth in [1, 3, 4]:
  24.         rgbimg.longstoimage(rgb, width, height, depth, '@.rgb')
  25.     os.unlink('@.rgb')
  26.  
  27. table = [
  28.     ('testrgb'+os.extsep+'uue', 'test'+os.extsep+'rgb'),
  29.     ('testimg'+os.extsep+'uue', 'test'+os.extsep+'rawimg'),
  30.     ('testimgr'+os.extsep+'uue', 'test'+os.extsep+'rawimg'+os.extsep+'rev'),
  31.     ]
  32. for source, target in table:
  33.     source = findfile(source)
  34.     target = findfile(target)
  35.     if verbose:
  36.         print "uudecoding", source, "->", target, "..."
  37.     uu.decode(source, target)
  38.  
  39. if verbose:
  40.     print "testing..."
  41.  
  42. ttob = rgbimg.ttob(0)
  43. if ttob != 0:
  44.     raise error, 'ttob should start out as zero'
  45.  
  46. testimg('test'+os.extsep+'rgb', 'test'+os.extsep+'rawimg')
  47.  
  48. ttob = rgbimg.ttob(1)
  49. if ttob != 0:
  50.     raise error, 'ttob should be zero'
  51.  
  52. testimg('test'+os.extsep+'rgb', 'test'+os.extsep+'rawimg'+os.extsep+'rev')
  53.  
  54. ttob = rgbimg.ttob(0)
  55. if ttob != 1:
  56.     raise error, 'ttob should be one'
  57.  
  58. ttob = rgbimg.ttob(0)
  59. if ttob != 0:
  60.     raise error, 'ttob should be zero'
  61.  
  62. for source, target in table:
  63.     unlink(findfile(target))
  64.