diff test/cmp_helper.py @ 5513:19bd4b413ed6

be more lenient when comparing string results
author Christof Meerwald <cmeerw@cmeerw.org>
date Sat, 18 Aug 2018 23:04:22 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/cmp_helper.py	Sat Aug 18 23:04:22 2018 +0100
@@ -0,0 +1,23 @@
+class StringFragmentCmpHelper:
+    def compareStringFragments(self, s, fragments):
+        """Compare a string agains a list of fragments where a tuple denotes a
+        set of alternatives
+        """
+        pos = 0
+        for frag in fragments:
+            if type(frag) != tuple:
+                self.assertEqual(s[pos:pos + len(frag)], frag)
+                pos += len(frag)
+            else:
+                found = False
+                for alt in frag:
+                    if s[pos:pos + len(alt)] == alt:
+                        pos += len(alt)
+                        found = True
+                        break
+
+                if not found:
+                    l = max(map(len, frag))
+                    raise AssertionError('%s != %s' %
+                                         (repr(s[pos:pos + l]), str(frag)))
+        self.assertEqual(s[pos:], '')

Roundup Issue Tracker: http://roundup-tracker.org/