Exemple #1
0
 def test_normal_value_with_finally_on_normal_exit(self):
     obj = self.SimpleTestClass()
     self.assertEquals(obj.value, 0)
     try:
         with AttributeSaver(obj, "value", 1):
             self.assertEquals(obj.value, 1)
     finally:
         self.assertEquals(obj.value, 0)
     self.assertEquals(obj.value, 0)
Exemple #2
0
 def test_normal_value_on_normal_exit(self):
     obj = self.SimpleTestClass()
     self.assertEquals(obj.value, 0)
     try:
         with AttributeSaver(obj, "value", 1):
             self.assertEquals(obj.value, 1)
     except:
         self.assertEquals(obj.value, 0)
         raise
     self.assertEquals(obj.value, 0)
Exemple #3
0
 def test_normal_value_with_finally_on_exception(self):
     with self.assertRaises(RuntimeError):
         obj = self.SimpleTestClass()
         self.assertEquals(obj.value, 0)
         try:
             with AttributeSaver(obj, "value", 1):
                 self.assertEquals(obj.value, 1)
                 raise RuntimeError()
         finally:
             self.assertEquals(obj.value, 0)
         self.assertEquals(obj.value, 0)
Exemple #4
0
 def test_normal_value_with_else_on_normal_exit(self):
     obj = self.SimpleTestClass()
     self.assertEquals(obj.value, 0)
     try:
         with AttributeSaver(obj, "value", 1):
             self.assertEquals(obj.value, 1)
     except IOError:
         self.assertFalse(True)
     else:
         self.assertEquals(obj.value, 0)
     self.assertEquals(obj.value, 0)
Exemple #5
0
 def test_normal_value_with_else_on_exception(self):
     with self.assertRaises(RuntimeError):
         obj = self.SimpleTestClass()
         self.assertEquals(obj.value, 0)
         try:
             with AttributeSaver(obj, "value", 1):
                 self.assertEquals(obj.value, 1)
                 raise RuntimeError()
         except IOError:
             self.assertFalse(True)
         else:
             self.assertEquals(obj.value, 0)
         self.assertEquals(obj.value, 0)
Exemple #6
0
 def pickle_to_file(self, f):
     # We don't want to pickle the application reference
     # We can't seem to pickle ex_traceback: PicklingError: Can't pickle <type 'traceback'>: it's not found as __builtin__.traceback
     with AttributeSaver(self, "application"), AttributeSaver(
             self, "ex_traceback"):
         pickle.dump(self, f, pickle.HIGHEST_PROTOCOL)
Exemple #7
0
 def test_normal_value(self):
     obj = self.SimpleTestClass()
     self.assertEquals(obj.value, 0)
     with AttributeSaver(obj, "value", 1):
         self.assertEquals(obj.value, 1)
     self.assertEquals(obj.value, 0)
Exemple #8
0
 def test_normal_default(self):
     obj = self.SimpleTestClass()
     self.assertEquals(obj.value, 0)
     with AttributeSaver(obj, "value"):
         self.assertEquals(obj.value, None)
     self.assertEquals(obj.value, 0)