/[thuban]/branches/WIP-pyshapelib-bramz/test/support.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/test/support.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 956 by bh, Wed May 21 17:11:17 2003 UTC revision 1263 by jonathan, Fri Jun 20 14:15:43 2003 UTC
# Line 21  def thuban_dir(): Line 21  def thuban_dir():
21      thisdir = os.path.dirname(__file__)      thisdir = os.path.dirname(__file__)
22      return os.path.join(thisdir, os.pardir)      return os.path.join(thisdir, os.pardir)
23    
24    def resource_dir():
25        return os.path.join(thuban_dir(), "Resources")
26    
27  def add_thuban_dir_to_path():  def add_thuban_dir_to_path():
28      """Insert the Thuban directory at the beginning of the python path.      """Insert the Thuban directory at the beginning of the python path.
# Line 58  def run_tests(): Line 60  def run_tests():
60          # This has to be in a finally clause because unittest.main()          # This has to be in a finally clause because unittest.main()
61          # ends with a sys.exit to make sure that the process exits with          # ends with a sys.exit to make sure that the process exits with
62          # an appropriate exit code          # an appropriate exit code
63          print_garbage_information()          print_additional_summary()
64    
65    def print_additional_summary():
66        """Print some additional summary information after tests have been run"""
67        print_garbage_information()
68        import xmlsupport
69        xmlsupport.print_summary_message()
70    
71  def print_garbage_information():  def print_garbage_information():
72      """Print information about things that haven't been cleaned up.      """Print information about things that haven't been cleaned up.
# Line 152  class FileLoadTestCase(unittest.TestCase Line 160  class FileLoadTestCase(unittest.TestCase
160          file.close()          file.close()
161    
162    
163  class FloatComparisonMixin:  class FloatComparisonMixin(unittest.TestCase):
164    
165      """      """
166      Mixin class for tests comparing floating point numbers.      Mixin class for tests comparing floating point numbers.
# Line 162  class FloatComparisonMixin: Line 170  class FloatComparisonMixin:
170      """      """
171    
172      fp_epsilon = 1e-6      fp_epsilon = 1e-6
173        fp_inf = float('1e1000')   # FIXME: hack for infinite
174            
175      def assertFloatEqual(self, test, value):      def assertFloatEqual(self, test, value):
176          """Assert equality of test and value with some tolerance.          """Assert equality of test and value with some tolerance.
# Line 169  class FloatComparisonMixin: Line 178  class FloatComparisonMixin:
178          Assert that the absolute difference between test and value is          Assert that the absolute difference between test and value is
179          less than self.fp_epsilon.          less than self.fp_epsilon.
180          """          """
181          self.assert_(self.fp_epsilon > abs(test - value),          if abs(test) == self.fp_inf:
182                self.assertEqual(test, value)
183            else:
184                self.assert_(self.fp_epsilon > abs(test - value),
185                       "abs(%g - %g) >= %g" % (test, value, self.fp_epsilon))                       "abs(%g - %g) >= %g" % (test, value, self.fp_epsilon))
186    
187      def assertFloatSeqEqual(self, test, value, epsilon = None):      def assertFloatSeqEqual(self, test, value, epsilon = None):
# Line 226  class SubscriberMixin: Line 238  class SubscriberMixin:
238          """Check whether the messages received match the list messages"""          """Check whether the messages received match the list messages"""
239          self.assertEquals(messages, self.received_messages)          self.assertEquals(messages, self.received_messages)
240    
 class FloatTestCase(unittest.TestCase):  
     """TestCase with methods for testing floating point values"""  
                                                                                                                                                           
     fp_epsilon = 1e-6  
     fp_inf = float('1e1000')   # FIXME: hack for infinite  
                                                                                                                                                           
     def assertFloatEqual(self, first, second, msg=None):  
         """Fail if one float is greater than the other + fp_epsilon"""  
         if abs(first) == self.fp_inf:  
             self.assertEqual(first, second, msg)  
         else:  
             self.assert_(self.fp_epsilon > abs(first - second), msg)  
   

Legend:
Removed from v.956  
changed lines
  Added in v.1263

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26