def _assert_string(self, separator, expecteds, streams=STREAMS_3): with separator: parser = And(Optional('a') & Optional('b') & 'c', Eos()) ok = True parser.config.no_full_first_match() for (stream, expected) in zip(streams, expecteds): parsed = parser.parse_string(stream) is not None if PRINT: print('{0!r:9} : {1!r:5} {2!r:5}' .format(stream, parsed, parsed == expected)) ok = ok and (parsed == expected) assert ok