import pytest
def test_generate_unique_values_from_objects():
from DeduplicateValuesbyKey import generate_unique_values_from_objects
objects = [
{"key": "value1", "value": "value1"},
{"key": "value1", "value": "value2"},
{"key": "value2", "value": "value3"},
{"key": "value2", "value": "value4"},
{"key": "value3", "value": "value5"},
{"key": "value3", "value": "value6"},
]
values = generate_unique_values_from_objects(objects, "key", False)
assert set(values) == {"value1", "value2", "value3"}
def test_generate_unique_values_from_objects_with_none():
from DeduplicateValuesbyKey import generate_unique_values_from_objects
objects = [
{"key": "value1", "value": "value1"},
{"key": "value1", "value": "value2"},
{"key": "value2", "value": "value3"},
{"key": "value2", "value": "value4"},
{"key": "value3", "value": "value5"},
{"key": "None_value", "value": None},
]
values = generate_unique_values_from_objects(objects, "key", True)
assert set(values) == {"None_value", "value1", "value2", "value3"}
def test_generate_unique_values_from_objects_fail():
from DeduplicateValuesbyKey import generate_unique_values_from_objects
with pytest.raises(SystemExit):
generate_unique_values_from_objects([], "key", True)