/[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 292 by bh, Fri Aug 30 09:44:12 2002 UTC revision 342 by bh, Fri Oct 18 17:28:46 2002 UTC
# Line 83  class FileTestMixin: Line 83  class FileTestMixin:
83      def temp_dir(self):      def temp_dir(self):
84          """Return the name of the directory for the temporary files"""          """Return the name of the directory for the temporary files"""
85          return create_temp_dir()          return create_temp_dir()
86    
87    
88    class FloatComparisonMixin:
89    
90        """
91        Mixin class for tests comparing floating point numbers.
92    
93        This class provides a few methods for testing floating point
94        operations.
95        """
96    
97        fp_epsilon = 1e-6
98        
99        def assertFloatEqual(self, test, value):
100            """Assert equality of test and value with some tolerance.
101    
102            Assert that the absolute difference between test and value is
103            less than self.fp_epsilon.
104            """
105            self.assert_(self.fp_epsilon > abs(test - value),
106                         "abs(%g - %g) >= %g" % (test, value, self.fp_epsilon))
107    
108        def assertFloatSeqEqual(self, test, value, epsilon = None):
109            """Assert equality of the sequences test and value with some tolerance.
110    
111            Assert that the absolute difference between each corresponding
112            value in test and value is less than the optional parameter
113            epsilon. If epsilon is not given use self.fp_epsilon.
114            """
115            if epsilon is None:
116                epsilon = self.fp_epsilon
117            for i in range(len(test)):
118                self.assert_(epsilon > abs(test[i] - value[i]),
119                             "abs(%g - %g) >= %g" % (test[i], value[i], epsilon))
120    
121    
122    class SubscriberMixin:
123    
124        """Mixin class for tests for messages sent through the Connector
125    
126        The SubscriberMixin has some methods that can be used as subscribers
127        of events that when called append information about the message into
128        a list of messages received.
129    
130        A derived class should call the clear_messages() method in both its
131        setUp and tearDown methods to clear the list of messages received.
132        """
133    
134        def clear_messages(self):
135            """Clear the list of received messages.
136    
137            Call this at least in the tests setUp and tearDown methods. It's
138            important to do it in tearDown too because otherwise there may
139            be cyclic references.
140            """
141            self.received_messages = []
142    
143        def subscribe_no_params(self):
144            """Method for subscriptions without parameters.
145    
146            Add an empty tuple to the list of received messages.
147            """
148            self.received_messages.append(())
149    
150        def subscribe_with_params(self, *args):
151            """Method for subscriptions with parameters.
152    
153            Append the tuple will all arguments to this function (except for
154            the self argument) to the list of received messages.
155            """
156            self.received_messages.append(args)
157    
158        def check_messages(self, messages):
159            """Check whether the messages received match the list messages"""
160            self.assertEquals(messages, self.received_messages)

Legend:
Removed from v.292  
changed lines
  Added in v.342

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26