Execute (items empty): let result = cmp#next_overload_content([], 0, '', [0, 1, 2, 0], 1) AssertEqual [0], result Execute (1 item): let items = ['()'] let current_index = 0 let current_line = 'hello()' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [0], result Execute (0->1): let items = ['()', '(a)', '(b)'] let current_index = 0 let current_line = 'hello()' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [1, '(a)', 1, 2], result Execute (1->2): let items = ['()', '(a)', '(b)'] let current_index = 1 let current_line = 'hello(a)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [1, '(b)', 2, 3], result Execute (2->0): let items = ['()', '(a)', '(b)'] let current_index = 2 let current_line = 'hello(b)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 1) AssertEqual [1, '()', 0, 3], result Execute (0->2): let items = ['()', '(a)', '(b)'] let current_index = 0 let current_line = 'hello()' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 0) AssertEqual [1, '(b)', 2, 2], result Execute (2->1): let items = ['()', '(a)', '(b)'] let current_index = 2 let current_line = 'hello(b)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 0) AssertEqual [1, '(a)', 1, 3], result Execute (1->0): let items = ['()', '(a)', '(b)'] let current_index = 1 let current_line = 'hello(a)' let complete_pos = [1, 6] let result = cmp#next_overload_content(items, current_index, current_line, complete_pos, 0) AssertEqual [1, '()', 0, 3], result