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

View file

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