from src.replacers.date_replacer import DateReplacer from src.detections import NameDetection, SurnameDetection, DateDetection, CityDetection def test_date_replacer(): text = "Ala Brzeszczot urodziła sie 05.05.2005 we Wrocławiu" detections = [ (0, 3, NameDetection()), (4, 14, SurnameDetection()), (28, 38, DateDetection()), (42, 51, CityDetection()), ] replacer = DateReplacer() result = replacer.replace(text, detections) expected_text_beggining = "Ala Brzeszczot urodziła sie " expected_text_ending = " we Wrocławiu" exptected_detections_left = [ (0, 3, NameDetection()), (4, 14, SurnameDetection()), (len(result[0]) - 9, len(result[0]), CityDetection()), ] assert result[0].startswith(expected_text_beggining) assert result[0].endswith(expected_text_ending) assert result[1] == exptected_detections_left def test_date_replacer_same_date_same_replacement(): text = "Ala Brzeszczot urodziła sie 05.05.2005 we Wrocławiu. 05.05.2005 to jej urodziny. 06.05.2005 to nie jej urodziny." detections = [ (28, 38, DateDetection()), (53, 63, DateDetection()), (81, 91, DateDetection()), ] replacer = DateReplacer() result = replacer.replace(text, detections) assert result[0][29:39] == result[0][54:64] assert result[1] == []