import pytest from manim.utils.iterables import list_difference_update, list_update def test_list_difference_update_removes_matching_items(): assert list_difference_update([1, 2, 3, 4], [2, 4]) == [1, 3] def test_list_difference_update_preserves_duplicates_and_order(): assert list_difference_update([3, 1, 3, 2, 1], [1]) == [3, 3, 2] @pytest.mark.parametrize( ("l1", "l2", "expected"), [([1, 2, 3, 4], [2, 4], [1, 3]), ([], [1, 2], [])],)def test_list_difference_update_removes_elements(l1, l2, expected): assert list_difference_update(l1, l2) == expected def test_list_difference_update_preserves_l1_order_and_duplicates(): assert list_difference_update([3, 1, 3, 2, 1], [1]) == [3, 3, 2] @pytest.mark.parametrize( ("l1", "l2", "expected"), [([1, 2, 3], [2, 4], [1, 3, 2, 4]), ([], [1, 2], [1, 2])],)def test_list_update_removes_overlap_and_appends_l2(l1, l2, expected): assert list_update(l1, l2) == expected def test_list_update_preserves_duplicates_in_l2(): assert list_update([1, 2, 3], [2, 4, 4]) == [1, 3, 2, 4, 4]
import pytest
from manim.utils.iterables import list_difference_update, list_update
def test_list_difference_update_removes_matching_items():
assert list_difference_update([1, 2, 3, 4], [2, 4]) == [1, 3]
def test_list_difference_update_preserves_duplicates_and_order():
assert list_difference_update([3, 1, 3, 2, 1], [1]) == [3, 3, 2]
@pytest.mark.parametrize(
("l1", "l2", "expected"),
[([1, 2, 3, 4], [2, 4], [1, 3]), ([], [1, 2], [])],
)
def test_list_difference_update_removes_elements(l1, l2, expected):
assert list_difference_update(l1, l2) == expected
def test_list_difference_update_preserves_l1_order_and_duplicates():
assert list_difference_update([3, 1, 3, 2, 1], [1]) == [3, 3, 2]
@pytest.mark.parametrize(
("l1", "l2", "expected"),
[([1, 2, 3], [2, 4], [1, 3, 2, 4]), ([], [1, 2], [1, 2])],
)
def test_list_update_removes_overlap_and_appends_l2(l1, l2, expected):
assert list_update(l1, l2) == expected
def test_list_update_preserves_duplicates_in_l2():
assert list_update([1, 2, 3], [2, 4, 4]) == [1, 3, 2, 4, 4]