Example #1
0
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)
    ]
Example #2
0
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)
    ]
Example #3
0
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)
    ]
Example #4
0
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')