def test_can_cut_off_both_ends(): assert core.slice([1, 2, 3, 4, 5], 1, 4) == [2, 3, 4]
def test_up_to_end_excludes_last_one(): assert core.slice([1, 2, 3, 4], 0, 3) == [1, 2, 3]
def test_returns_entire_list_for_whole_slice(): assert core.slice([1, 2, 3, 4], 0, 4) == [1, 2, 3, 4]
def test_from_one_skips_first_element(): assert core.slice([1, 2, 3, 4], 1, 4) == [2, 3, 4]
def test_does_not_explode_for_empty_list(): assert core.slice([], 0, 0) == []