def equivalent_source_variants_for_consume_until_end_of_last_line( arguments: Arguments) -> List[Tuple[SourceCase]]: return [ SourceCase( arguments.followed_by_lines(extra_lines).as_remaining_source, assertion, ) for extra_lines, assertion in _equivalent_source_variants_for_consume_until_end_of_last_line( arguments.num_lines) ]
def equivalent_source_variants__with_source_check__for_full_line_expression_parser( original_arguments: Arguments, ) -> List[NEA[Assertion[ParseSource], ParseSource]]: num_lines = original_arguments.num_lines return [ NEA(name='following_lines={}'.format(repr(following_lines), ), expected=source_assertion, actual=original_arguments.followed_by_lines( following_lines).as_remaining_source) for following_lines, source_assertion in _source_variants_with__for_full_line_expression_parser(num_lines) ]
def equivalent_source_variants_for_consume_until_end_of_last_line2( arguments: Arguments ) -> List[NIE[ParseSource, Assertion[ParseSource]]]: return [ NIE( repr(extra_lines), assertion, arguments.followed_by_lines(extra_lines).as_remaining_source, ) for extra_lines, assertion in _equivalent_source_variants_for_consume_until_end_of_last_line( arguments.num_lines) ]
def equivalent_source_variants__with_source_check__multi_line( put: unittest.TestCase, instruction_argument: Arguments, ) -> Iterator[ParseSource]: """ Checks that the first line of the source has been consumed. Assumes that the body of the loop parses using the given source. """ for following_lines, source_assertion in _source_variant_test_cases__multi_line( instruction_argument.num_lines): with put.subTest(following_lines=repr(following_lines)): source = instruction_argument.followed_by_lines( following_lines).as_remaining_source yield source source_assertion.apply_with_message(put, source, 'source after parse')