Exemple #1
0
class TestModelWNumLines10(unittest.TestCase):
    INPUT = ['{}\n'.format(n + 1) for n in range(10)]

    _SINGLE_NEG__MIDDLE = ArrEx(single(-5), [6])
    _SINGLE_NEG__FIRST = ArrEx(single(-10), [1])

    _TO_NEG = ArrEx(to_(-2), _int_list(1, 9))
    _TO_POS = ArrEx(to_(4), _int_list(1, 4))
    _TO_AFTER_MAX = ArrEx(to_(10 + 1), _int_list(1, 10))

    _FROM_NEG = ArrEx(from_(-3), _int_list(8, 10))
    _FROM_POS = ArrEx(from_(7), _int_list(7, 10))
    _FROM_MAX = ArrEx(from_(10), [10])
    _FROM_AFTER_MAX = ArrEx(from_(10 + 1), [])

    _FROM_TO__2_3 = ArrEx(from_to(2, 3), _int_list(2, 3))
    _FROM_TO_NEG_NEG = ArrEx(from_to(-3, -2), _int_list(8, 9))
    _FROM_TO_NEG_POS = ArrEx(from_to(-9, 3), _int_list(2, 3))
    _FROM_TO_POS_NEG = ArrEx(from_to(7, -4), [7])
    _FROM_TO_POS_POS = ArrEx(from_to(10, 12), [10])

    RANGES_CASES = [
        [_TO_NEG, _TO_POS],
        [_FROM_NEG, _FROM_POS],
        [_FROM_NEG, _TO_AFTER_MAX],
        [_FROM_TO_NEG_NEG, _FROM_TO_POS_NEG],
        [_FROM_TO_POS_POS, _FROM_TO_NEG_POS],
        [
            _TO_NEG, _FROM_POS, _FROM_TO_NEG_POS, _FROM_TO_NEG_POS,
            _FROM_TO_POS_POS
        ],
        [_SINGLE_NEG__MIDDLE, _SINGLE_NEG__FIRST],
    ]

    CASES = [_case_of(case) for case in RANGES_CASES]
Exemple #2
0
def _check_int_arg__wo_max_lines_from_iter(put: unittest.TestCase,
                                           range_expr: int,
                                           input_and_expected: InputAndExpected,
                                           ):
    _integration_check.check__w_max_as_lines_invocations__wo_max_lines_from_iter(
        put,
        [ranges.single(range_expr).as_arg],
        input_and_expected
    )
Exemple #3
0
def _check_int_arg__w_access_of_all_model_properties(put: unittest.TestCase,
                                                     range_expr: int,
                                                     input_and_expected: InputAndExpected,
                                                     ):
    the_range = ranges.single(range_expr)
    _integration_check.check__w_access_of_all_model_properties(
        put,
        [the_range.as_arg],
        inp_exp__w_ext_deps(input_and_expected, the_range),
    )
Exemple #4
0
def _check_int_arg__w_max_lines_from_iter(put: unittest.TestCase,
                                          arg: int,
                                          input_and_expected: InputAndExpected,
                                          ):
    return _integration_check.check__w_max_lines_from_iter(
        put,
        [ranges.single(arg).as_arg],
        arg,
        input_and_expected,
    )
Exemple #5
0
class TestModelWNumLines1(unittest.TestCase):
    INPUT = ['1\n']

    _SINGLE_NEG__1 = ArrEx(single(-1), [1])
    _SINGLE_NEG__BEFORE = ArrEx(single(-2 - 1), [])

    _TO_NEG__BEFORE = ArrEx(to_(-2), [])
    _TO_NEG__1 = ArrEx(to_(-1), [1])
    _TO_POS__AFTER = ArrEx(to_(2), [1])

    _FROM_NEG__BEFORE = ArrEx(from_(-2), [1])
    _FROM_NEG__1 = ArrEx(from_(-1), [1])
    _FROM_POS__AFTER = ArrEx(from_(2), [])

    _FROM_TO__m1_m1 = ArrEx(from_to(-1, -1), [1])
    _FROM_TO__m2_m1 = ArrEx(from_to(-2, -1), [1])
    _FROM_TO__m1_2 = ArrEx(from_to(-1, 2), [1])

    RANGES_CASES = [
        [_SINGLE_NEG__1, _SINGLE_NEG__BEFORE],
        [_TO_NEG__BEFORE, _TO_NEG__BEFORE],
        [_TO_NEG__BEFORE, _TO_NEG__1],
        [_TO_NEG__BEFORE, _TO_POS__AFTER],
        [_FROM_NEG__BEFORE, _FROM_NEG__BEFORE],
        [_FROM_NEG__BEFORE, _FROM_NEG__1],
        [_FROM_NEG__BEFORE, _FROM_POS__AFTER],
        [_FROM_TO__m1_m1, _FROM_TO__m1_m1],
        [_FROM_TO__m1_m1, _FROM_TO__m1_2],
        [_FROM_TO__m2_m1, _FROM_TO__m1_2],
        [_SINGLE_NEG__1, _FROM_TO__m2_m1],
        [_SINGLE_NEG__1, _FROM_TO__m2_m1],
        [_SINGLE_NEG__BEFORE, _FROM_POS__AFTER],
        [_TO_NEG__BEFORE, _FROM_TO__m1_2, _SINGLE_NEG__1, _FROM_POS__AFTER],
    ]

    CASES = [_case_of(case) for case in RANGES_CASES]
Exemple #6
0
 def argument_cases(self) -> List[str]:
     return [
         args.filter_line_nums(ranges.single(7).as_arg).as_str,
         args.filter_line_nums(ranges.single(-7).as_arg).as_str,
         args.filter_line_nums(ranges.to_(5).as_arg).as_str,
         args.filter_line_nums(ranges.to_(-5).as_arg).as_str,
         args.filter_line_nums(ranges.from_(5).as_arg).as_str,
         args.filter_line_nums(ranges.from_(-5).as_arg).as_str,
         args.filter_line_nums(ranges.from_to(5, 6).as_arg).as_str,
         args.filter_line_nums(ranges.from_to(-8, 8).as_arg).as_str,
         args.filter_line_nums(ranges.from_to(2, -2).as_arg).as_str,
         args.filter_line_nums(ranges.from_to(-5, -3).as_arg).as_str,
         args.filter_line_nums__multi(
             [ranges.single(5).as_arg,
              ranges.single(6).as_arg]).as_str,
         args.filter_line_nums__multi(
             [ranges.single(-5).as_arg,
              ranges.single(-6).as_arg]).as_str,
     ]
Exemple #7
0
CASES__BODY = [
    Case.w_upper_limit('empty', [from_to(5, 4)],
                       lines_in_ranges__increasing=[]),
    Case.w_upper_limit('1st', [from_to(0, 1)],
                       lines_in_ranges__increasing=[1]),
    Case.w_upper_limit('no borders (merged)',
                       [from_to(3, 5), from_to(6, 7)],
                       lines_in_ranges__increasing=[3, 4, 5, 6, 7]),
    Case.w_upper_limit('no borders (not merged)',
                       [from_to(3, 5), from_to(7, 8)],
                       lines_in_ranges__increasing=[3, 4, 5, 7, 8]),
    Case.w_upper_limit('borders 1,2, 10 (not merged)',
                       [from_to(1, 2), from_to(8, 10)],
                       lines_in_ranges__increasing=[1, 2, 8, 9, 10]),
    Case.w_upper_limit('borders 10, 11 (merged)',
                       [single(10), single(11)],
                       lines_in_ranges__increasing=[10, 11]),
    Case.w_upper_limit('borders 10, 11 (not merged, w segment before)',
                       [single(5), from_to(10, 11)],
                       lines_in_ranges__increasing=[5, 10, 11]),
    Case.w_upper_limit('borders 10, 11 (not merged, w segment after)',
                       [from_to(10, 11), single(15)],
                       lines_in_ranges__increasing=[10, 11, 15]),
    Case.w_upper_limit(
        'borders 10, 11 (not merged, w segment before and after)',
        [single(5), from_to(10, 11), single(15)],
        lines_in_ranges__increasing=[5, 10, 11, 15]),
]

CASES__HEAD_TAIL = [
    Case.wo_upper_limit('everything', [to_(7), from_(8)],