Mercurial > p > roundup > code
view test/cmp_helper.py @ 7812:ecc34b7917e2
chore(refactor): multiple changes/cleanups
Simplify 'for x in [list val]; alist.append(x)' to 'alist = list([list
val])'. Easier to read as copy of list. Also twice as fast although
speed not an issue.
Remove unneeded list() wrappers. Replace set(list comprehension) with
set comprehension.
Also add trailing ,'s to last element in tuples/lists.
Add some noqa items for acceptable operations in context.
Switch " ... \" ...\" ..." to: ' ... " ... " ...' to remove need to
escape internal '"'.
Change 'not x in y' to 'x not in y'.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 16 Mar 2024 21:08:16 -0400 |
| parents | 19bd4b413ed6 |
| children |
line wrap: on
line source
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:], '')
