import pickle
from copy import copy, deepcopy
from lingua import DetectionResult, Language
def test_detection_result_copy():
result = DetectionResult(
start_index=0,
end_index=5,
word_count=1,
language=Language.ENGLISH,
)
result_copy = copy(result)
assert result_copy == result
assert result_copy is not result
assert result_copy.start_index == result.start_index
assert result_copy.start_index is result.start_index
assert result_copy.end_index == result.end_index
assert result_copy.end_index is result.end_index
assert result_copy.word_count == result.word_count
assert result_copy.word_count is result.word_count
assert result_copy.language == result.language
assert result_copy.language is not result.language
def test_detection_result_deepcopy():
result = DetectionResult(
start_index=0,
end_index=5,
word_count=1,
language=Language.ENGLISH,
)
result_copy = deepcopy(result)
assert result_copy == result
assert result_copy is not result
assert result_copy.start_index == result.start_index
assert result_copy.start_index is result.start_index
assert result_copy.end_index == result.end_index
assert result_copy.end_index is result.end_index
assert result_copy.word_count == result.word_count
assert result_copy.word_count is result.word_count
assert result_copy.language == result.language
assert result_copy.language is not result.language
def test_detection_result_pickle():
result = DetectionResult(
start_index=0,
end_index=5,
word_count=1,
language=Language.ENGLISH,
)
serialized = pickle.dumps(result)
deserialized = pickle.loads(serialized)
assert deserialized == result