def test_many(): assert find_target_positions(ordered_list, 2) is [2] assert find_target_positions(ordered_list, -1) is [1]
def test_single(): assert find_target_positions([1], 1) is [0] assert find_target_positions([None], None) is [0]
def test_single_missing(): assert find_target_positions([1], None) is [] assert find_target_positions([2], 1) is []
def test_empty(): assert find_target_positions([], 1) is []
def test_all_equals(): assert find_target_positions([4] * 100, 4) is list(range(0, 100))
def test_disordered(): assert find_target_positions(disordered_list, 4) is [4]
def test_many_missing(): assert find_target_positions(ordered_list, 0) is [] assert find_target_positions(disordered_list, -100) is []
def test_many_matches(): test_list = [1, 0, 0, 1, 1, 1, 0] assert find_target_positions(test_list, 0) is [1, 2, 6] assert find_target_positions(test_list, 1) is [0, 3, 4, 5]