Bläddra i källkod

StringToDMYConverter(2)

Andrew Grant 1 månad sedan
förälder
incheckning
80bdd0a028

+ 9 - 12
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificate/GatherMarriageCertificateGroomTimeLineDataImpl.java

@@ -8,8 +8,8 @@ package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
+import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
 import scot.carricksoftware.grantswriter.data.DMY;
-import scot.carricksoftware.grantswriter.data.DMYImpl;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 
@@ -24,8 +24,11 @@ public class GatherMarriageCertificateGroomTimeLineDataImpl implements GatherMar
 
     private static final Logger logger = LogManager.getLogger(GatherMarriageCertificateGroomTimeLineDataImpl.class);
 
-    public GatherMarriageCertificateGroomTimeLineDataImpl(TimeLineData timelineData) {
+    private final StringToDMYConverter stringToDMYConverter;
+
+    public GatherMarriageCertificateGroomTimeLineDataImpl(TimeLineData timelineData, StringToDMYConverter stringToDMYConverter) {
         this.timelineData = timelineData;
+        this.stringToDMYConverter = stringToDMYConverter;
     }
 
     @Override
@@ -47,7 +50,7 @@ public class GatherMarriageCertificateGroomTimeLineDataImpl implements GatherMar
     private void addWhenMarried(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate) {
         logger.info("GatherMarriageCertificateGroomTimeLineDataImpl::AddWhenMarried");
 
-        List<String> existingValues = timeLine.get(getDMY(marriageCertificate.getWhenMarried()));
+        List<String> existingValues = timeLine.get(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()));
         if (existingValues == null) {
             existingValues = new ArrayList<>();
         }
@@ -57,13 +60,13 @@ public class GatherMarriageCertificateGroomTimeLineDataImpl implements GatherMar
         } else {
             existingValues.add("Married " + marriageCertificate.getBride().toString() + " at " + marriageCertificate.getUntrackedWhereMarried());
         }
-        timeLine.put(getDMY(marriageCertificate.getWhenMarried()), existingValues);
+        timeLine.put(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()), existingValues);
     }
 
     private void addGroomRank(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate) {
         logger.info("GatherMarriageCertificateBrideTimeLineDataImpl::AddGroomRank");
 
-        List<String> existingValues = timeLine.get(getDMY(marriageCertificate.getWhenMarried()));
+        List<String> existingValues = timeLine.get(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()));
         if (existingValues == null) {
             existingValues = new ArrayList<>();
         }
@@ -71,14 +74,8 @@ public class GatherMarriageCertificateGroomTimeLineDataImpl implements GatherMar
         if (marriageCertificate.getGroomRank() != null) {
             existingValues.add("Rank registered as " + marriageCertificate.getGroomRank());
         }
-        timeLine.put(getDMY(marriageCertificate.getWhenMarried()), existingValues);
+        timeLine.put(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()), existingValues);
 
     }
 
-
-    private DMY getDMY(String dateKey) {
-        DMY dmyKey = new DMYImpl();
-        dmyKey.parse(dateKey);
-        return dmyKey;
-    }
 }

+ 12 - 2
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateGroomTimeLineDataAddRankTest.java

@@ -11,7 +11,9 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 import scot.carricksoftware.grantswriter.constants.ApplicationConstants;
+import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
 import scot.carricksoftware.grantswriter.data.DMY;
+import scot.carricksoftware.grantswriter.data.DMYImpl;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 import scot.carricksoftware.grantswriter.domains.people.Person;
@@ -23,6 +25,7 @@ import java.util.List;
 import java.util.TreeMap;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.when;
 import static org.testng.Assert.assertTrue;
 import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
@@ -36,6 +39,9 @@ class GatherMarriageCertificateGroomTimeLineDataAddRankTest {
     @Mock
     private TimeLineData timelineDataMock;
 
+    @Mock
+    private StringToDMYConverter stringToDMYConverterMock;
+
     private List<MarriageCertificate> marriageCertificates;
 
     private TreeMap<DMY, List<String>> timeLine;
@@ -51,7 +57,9 @@ class GatherMarriageCertificateGroomTimeLineDataAddRankTest {
 
     @BeforeEach
     void setUp() {
-        gatherMarriageCertificateGroomTimeLineData = new GatherMarriageCertificateGroomTimeLineDataImpl(this.timelineDataMock);
+        gatherMarriageCertificateGroomTimeLineData = new GatherMarriageCertificateGroomTimeLineDataImpl(
+                timelineDataMock,
+                stringToDMYConverterMock);
         marriageCertificates = new ArrayList<>();
 
         marriageCertificate = new MarriageCertificate();
@@ -59,7 +67,9 @@ class GatherMarriageCertificateGroomTimeLineDataAddRankTest {
         bride = GetRandomPerson();
         groom = GetRandomPerson();
         rank = GetRandomString();
-
+        DMY dmy = new DMYImpl();
+        dmy.parse("25/01/1953");
+        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
     }
 
     private void setUpCertificate(String groomRank) {

+ 12 - 1
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateGroomTimeLineDataRefsTest.java

@@ -10,6 +10,9 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
+import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
+import scot.carricksoftware.grantswriter.data.DMY;
+import scot.carricksoftware.grantswriter.data.DMYImpl;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 import scot.carricksoftware.grantswriter.domains.people.Person;
@@ -23,6 +26,7 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.when;
 import static scot.carricksoftware.grantswriter.GenerateRandomPeopleValues.GetRandomPerson;
 
@@ -34,6 +38,8 @@ class GatherMarriageCertificateGroomTimeLineDataRefsTest {
     @Mock
     private TimeLineData timelineDataMock;
 
+    @Mock
+    private StringToDMYConverter stringToDMYConverterMock;
 
     private List<MarriageCertificate> marriageCertificates;
 
@@ -42,10 +48,15 @@ class GatherMarriageCertificateGroomTimeLineDataRefsTest {
 
     @BeforeEach
     void setUp() {
-        gatherMarriageCertificateGroomTimeLineData = new GatherMarriageCertificateGroomTimeLineDataImpl(this.timelineDataMock);
+        gatherMarriageCertificateGroomTimeLineData = new GatherMarriageCertificateGroomTimeLineDataImpl(
+                timelineDataMock,
+                stringToDMYConverterMock);
         marriageCertificates = new ArrayList<>();
         groom = GetRandomPerson();
         bride = GetRandomPerson();
+        DMY dmy = new DMYImpl();
+        dmy.parse("25/01/1953");
+        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
     }
 
     @Test

+ 12 - 2
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateGroomTimeLineDataWhenMarriedTest.java

@@ -10,7 +10,9 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
+import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
 import scot.carricksoftware.grantswriter.data.DMY;
+import scot.carricksoftware.grantswriter.data.DMYImpl;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 import scot.carricksoftware.grantswriter.domains.people.Person;
@@ -22,6 +24,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.TreeMap;
 
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.when;
 import static org.testng.Assert.assertTrue;
 import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
@@ -36,6 +39,9 @@ class GatherMarriageCertificateGroomTimeLineDataWhenMarriedTest {
     @Mock
     private TimeLineData timelineDataMock;
 
+    @Mock
+    private StringToDMYConverter stringToDMYConverterMock;
+
     private List<MarriageCertificate> marriageCertificates;
 
     private TreeMap<DMY, List<String>> timeLine;
@@ -53,7 +59,9 @@ class GatherMarriageCertificateGroomTimeLineDataWhenMarriedTest {
 
     @BeforeEach
     void setUp() {
-        gatherMarriageCertificateGroomTimeLineData = new GatherMarriageCertificateGroomTimeLineDataImpl(this.timelineDataMock);
+        gatherMarriageCertificateGroomTimeLineData = new GatherMarriageCertificateGroomTimeLineDataImpl(
+                timelineDataMock,
+                stringToDMYConverterMock);
         marriageCertificates = new ArrayList<>();
 
         marriageCertificate = new MarriageCertificate();
@@ -63,7 +71,9 @@ class GatherMarriageCertificateGroomTimeLineDataWhenMarriedTest {
         whereMarried = GetRandomPlace();
         untrackedPlace = GetRandomString();
         setUpBaseCertificate();
-
+        DMY dmy = new DMYImpl();
+        dmy.parse("25/01/1953");
+        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
     }
 
     private void setUpBaseCertificate() {