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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import shutil
  5. import tempfile
  6. import unittest
  7.  
  8. class SetupStack(object):
  9.     
  10.     def __init__(self):
  11.         self._on_teardown = []
  12.  
  13.     
  14.     def add_teardown(self, teardown):
  15.         self._on_teardown.append(teardown)
  16.  
  17.     
  18.     def tear_down(self):
  19.         for func in reversed(self._on_teardown):
  20.             func()
  21.         
  22.  
  23.  
  24.  
  25. class TearDownConvenience(object):
  26.     
  27.     def __init__(self, setup_stack = None):
  28.         self._own_setup_stack = setup_stack is None
  29.         if setup_stack is None:
  30.             setup_stack = SetupStack()
  31.         
  32.         self._setup_stack = setup_stack
  33.  
  34.     
  35.     def tear_down(self):
  36.         self._setup_stack.tear_down()
  37.  
  38.  
  39.  
  40. class TempDirMaker(TearDownConvenience):
  41.     
  42.     def make_temp_dir(self):
  43.         temp_dir = tempfile.mkdtemp(prefix = 'tmp-%s-' % self.__class__.__name__)
  44.         
  45.         def tear_down():
  46.             shutil.rmtree(temp_dir)
  47.  
  48.         self._setup_stack.add_teardown(tear_down)
  49.         return temp_dir
  50.  
  51.  
  52.  
  53. class MonkeyPatcher(TearDownConvenience):
  54.     
  55.     def monkey_patch(self, obj, name, value):
  56.         orig_value = getattr(obj, name)
  57.         setattr(obj, name, value)
  58.         
  59.         def reverse_patch():
  60.             setattr(obj, name, orig_value)
  61.  
  62.         self._setup_stack.add_teardown(reverse_patch)
  63.  
  64.  
  65.  
  66. class TestCase(unittest.TestCase):
  67.     
  68.     def setUp(self):
  69.         self._setup_stack = SetupStack()
  70.  
  71.     
  72.     def tearDown(self):
  73.         self._setup_stack.tear_down()
  74.  
  75.     
  76.     def make_temp_dir(self, *args, **kwds):
  77.         return TempDirMaker(self._setup_stack).make_temp_dir(*args, **kwds)
  78.  
  79.     
  80.     def monkey_patch(self, *args, **kwds):
  81.         return MonkeyPatcher(self._setup_stack).monkey_patch(*args, **kwds)
  82.  
  83.     
  84.     def assert_contains(self, container, containee):
  85.         self.assertTrue(containee in container, '%r not in %r' % (containee, container))
  86.  
  87.     
  88.     def assert_less_than(self, got, expected):
  89.         self.assertTrue(got < expected, '%r >= %r' % (got, expected))
  90.  
  91.  
  92.