Update tests; Used new merger function for PhoneService2

This commit is contained in:
Mikhail Trofimov 2025-10-02 13:29:38 +03:00
parent 978b45eda8
commit daceff96af
3 changed files with 29 additions and 23 deletions

View file

@ -1,11 +1,5 @@
package ru.nbch.credit_tracker.service.indic;
import java.time.LocalDate;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@ -18,6 +12,9 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.entities.dto.PhoneFidMap;
import java.time.LocalDate;
import java.util.*;
@Slf4j
@Service
public class PhoneService2 {
@ -78,14 +75,15 @@ public class PhoneService2 {
}
log.debug("Start merging fids");
for (PhoneFidMap phoneFid : subjects) {
String phone = "9" + phoneFid.getPhone();
Integer fid = phoneToFidsMap.get(phone);
if (fid != null) {
phoneFidMap.put(fid, phoneFid);
phoneToFidsMap.remove(phone);
}
}
// for (PhoneFidMap phoneFid : subjects) {
// String phone = "9" + phoneFid.getPhone();
// Integer fid = phoneToFidsMap.get(phone);
// if (fid != null) {
// phoneFidMap.put(fid, phoneFid);
// phoneToFidsMap.remove(phone);
// }
// }
phoneFidMap = merger(subjects, phonesByFid);
log.debug("End merging fids");
return phoneFidMap;

View file

@ -39,12 +39,14 @@ public class PhoneService2Test {
phoneFidMap.add(PhoneFidMap.builder().phone("1112").build());
phoneFidMap.add(PhoneFidMap.builder().phone("1113").build());
phoneFidMap.add(PhoneFidMap.builder().phone("1114").build());
phoneFidMap.add(PhoneFidMap.builder().phone("1115").build());
Map<Integer, PhoneFidMap> res = phoneService.defineFidByPhone(phoneFidMap);
Assertions.assertEquals(3, res.size());
Assertions.assertEquals(4, res.size());
Assertions.assertEquals("1111", res.get(124).getPhone());
Assertions.assertEquals("1112", res.get(125).getPhone());
Assertions.assertEquals("1114", res.get(126).getPhone());
Assertions.assertEquals("1115", res.get(127).getPhone());
}
private final List<PhoneService2.FidsData> fidsDataWithEqualSinceDt = new ArrayList<>(
@ -52,7 +54,9 @@ public class PhoneService2Test {
new PhoneService2.FidsData(123, "91111", LocalDate.of(2025, 9, 10)),
new PhoneService2.FidsData(124, "91111", LocalDate.of(2025, 9, 10)),
new PhoneService2.FidsData(125, "91112", LocalDate.of(2024, 10, 10)),
new PhoneService2.FidsData(126, "91114", LocalDate.of(2024, 10, 11))
new PhoneService2.FidsData(126, "91114", LocalDate.of(2024, 10, 11)),
new PhoneService2.FidsData(127, "91115", LocalDate.of(2025, 9, 11)),
new PhoneService2.FidsData(128, "91115", LocalDate.of(2025, 9, 10))
)
);

View file

@ -36,21 +36,25 @@ public class PhoneServiceTest {
phoneFidMap.add(PhoneFidMap.builder().phone("1112").build());
phoneFidMap.add(PhoneFidMap.builder().phone("1113").build());
phoneFidMap.add(PhoneFidMap.builder().phone("1114").build());
phoneFidMap.add(PhoneFidMap.builder().phone("1115").build());
Map<Integer, PhoneFidMap> res = phoneService.defineFidByPhone(phoneFidMap);
Assertions.assertEquals(3, res.size());
Assertions.assertEquals(4, res.size());
Assertions.assertEquals("1111", res.get(124).getPhone());
Assertions.assertEquals("1112", res.get(125).getPhone());
Assertions.assertEquals("1114", res.get(126).getPhone());
Assertions.assertEquals("1115", res.get(127).getPhone());
}
private final List<PhoneService.FidsData> fidsDataWithEqualSinceDt = new ArrayList<>(
List.of(
new PhoneService.FidsData(123, "91111", LocalDate.of(2025, 9, 10)),
new PhoneService.FidsData(124, "91111", LocalDate.of(2025, 9, 10)),
new PhoneService.FidsData(125, "91112", LocalDate.of(2024, 10, 10)),
new PhoneService.FidsData(126, "91114", LocalDate.of(2024, 10, 11))
)
List.of(
new PhoneService.FidsData(123, "91111", LocalDate.of(2025, 9, 10)),
new PhoneService.FidsData(124, "91111", LocalDate.of(2025, 9, 10)),
new PhoneService.FidsData(125, "91112", LocalDate.of(2024, 10, 10)),
new PhoneService.FidsData(126, "91114", LocalDate.of(2024, 10, 11)),
new PhoneService.FidsData(127, "91115", LocalDate.of(2025, 9, 11)),
new PhoneService.FidsData(128, "91115", LocalDate.of(2025, 9, 10))
)
);
Comparator<PhoneService.FidsData> byDbOrder =