Przeglądaj źródła

StringToDMYConverter

Andrew Grant 1 miesiąc temu
rodzic
commit
1e1b53e870

+ 12 - 15
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificate/GatherMarriageCertificateBrideTimeLineDataImpl.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;
 
@@ -23,10 +23,13 @@ public class GatherMarriageCertificateBrideTimeLineDataImpl implements GatherMar
 
     private final TimeLineData timelineData;
 
+    private final StringToDMYConverter stringToDMYConverter;
+
     private static final Logger logger = LogManager.getLogger(GatherMarriageCertificateBrideTimeLineDataImpl.class);
 
-    public GatherMarriageCertificateBrideTimeLineDataImpl(TimeLineData timelineData) {
+    public GatherMarriageCertificateBrideTimeLineDataImpl(TimeLineData timelineData, StringToDMYConverter stringToDMYConverter) {
         this.timelineData = timelineData;
+        this.stringToDMYConverter = stringToDMYConverter;
     }
 
     @Override
@@ -41,13 +44,16 @@ public class GatherMarriageCertificateBrideTimeLineDataImpl implements GatherMar
 
     @SuppressWarnings("unused")
     private void addRefs(MarriageCertificate marriageCertificate) {
+        var vz = timelineData.getRefs();
         timelineData.getRefs().add("Marriage Certificate for : " + marriageCertificate.getBride() + " and " + marriageCertificate.getGroom());
+        var vx = timelineData.getRefs();
+        int deb = -1;
     }
 
     private void addWhenMarried(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate) {
         logger.info("GatherMarriageCertificateBrideTimeLineDataImpl::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,14 +63,13 @@ public class GatherMarriageCertificateBrideTimeLineDataImpl implements GatherMar
         } else {
             existingValues.add("Married " + marriageCertificate.getGroom().toString() + " at " + marriageCertificate.getUntrackedWhereMarried());
         }
-        timeLine.put(getDMY(marriageCertificate.getWhenMarried()), existingValues);
-
+        timeLine.put(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()), existingValues);
     }
 
     private void addBrideRank(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate) {
         logger.info("GatherMarriageCertificateBrideTimeLineDataImpl::AddBrideRank");
 
-        List<String> existingValues = timeLine.get(getDMY(marriageCertificate.getWhenMarried()));
+        List<String> existingValues = timeLine.get(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()));
         if (existingValues == null) {
             existingValues = new ArrayList<>();
         }
@@ -72,14 +77,6 @@ public class GatherMarriageCertificateBrideTimeLineDataImpl implements GatherMar
         if (marriageCertificate.getBrideRank() != null) {
             existingValues.add("Rank registered as " + marriageCertificate.getBrideRank());
         }
-        timeLine.put(getDMY(marriageCertificate.getWhenMarried()), existingValues);
-
-    }
-
-
-    private DMY getDMY(String dateKey) {
-        DMY dmyKey = new DMYImpl();
-        dmyKey.parse(dateKey);
-        return dmyKey;
+        timeLine.put(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()), existingValues);
     }
 }

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

@@ -40,6 +40,7 @@ public class GatherMarriageCertificateGroomTimeLineDataImpl implements GatherMar
 
     @SuppressWarnings("unused")
     private void addRefs(MarriageCertificate marriageCertificate) {
+        var z = timelineData.getRefs();
         timelineData.getRefs().add("Marriage Certificate for : " + marriageCertificate.getBride() + " and " + marriageCertificate.getGroom());
     }
 

+ 12 - 1
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateBrideTimeLineDataAddRankTest.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 GatherMarriageCertificateBrideTimeLineDataAddRankTest {
     @Mock
     private TimeLineData timelineDataMock;
 
+    @Mock
+    private StringToDMYConverter stringToDMYConverterMock;
+
     private List<MarriageCertificate> marriageCertificates;
 
     private TreeMap<DMY, List<String>> timeLine;
@@ -51,7 +57,9 @@ class GatherMarriageCertificateBrideTimeLineDataAddRankTest {
 
     @BeforeEach
     void setUp() {
-        gatherMarriageCertificateBrideTimeLineData = new GatherMarriageCertificateBrideTimeLineDataImpl(this.timelineDataMock);
+        gatherMarriageCertificateBrideTimeLineData = new GatherMarriageCertificateBrideTimeLineDataImpl(
+                timelineDataMock,
+                stringToDMYConverterMock);
         marriageCertificates = new ArrayList<>();
 
         marriageCertificate = new MarriageCertificate();
@@ -59,6 +67,9 @@ class GatherMarriageCertificateBrideTimeLineDataAddRankTest {
         bride = GetRandomPerson();
         groom = GetRandomPerson();
         rank = GetRandomString();
+        DMY dmy = new DMYImpl();
+        dmy.parse("25/01/1953");
+        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
 
     }
 

+ 17 - 5
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateBrideTimeLineDataRefsTest.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;
@@ -21,8 +24,10 @@ import java.util.List;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.when;
+import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
 import static scot.carricksoftware.grantswriter.GenerateRandomPeopleValues.GetRandomPerson;
 
 @ExtendWith(MockitoExtension.class)
@@ -33,6 +38,8 @@ class GatherMarriageCertificateBrideTimeLineDataRefsTest {
     @Mock
     private TimeLineData timelineDataMock;
 
+    @Mock
+    private StringToDMYConverter stringToDMYConverterMock;
 
     private List<MarriageCertificate> marriageCertificates;
 
@@ -41,25 +48,30 @@ class GatherMarriageCertificateBrideTimeLineDataRefsTest {
 
     @BeforeEach
     void setUp() {
-        gatherMarriageCertificateBrideTimeLineData = new GatherMarriageCertificateBrideTimeLineDataImpl(this.timelineDataMock);
+        gatherMarriageCertificateBrideTimeLineData = new GatherMarriageCertificateBrideTimeLineDataImpl(
+                timelineDataMock,
+                stringToDMYConverterMock);
         marriageCertificates = new ArrayList<>();
         bride = GetRandomPerson();
         groom = GetRandomPerson();
+        DMY dmy = new DMYImpl();
+        dmy.parse("25/01/1953");
+        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
     }
 
     @Test
     void refsAreAddedTest() {
         SortedSet<String> refs = new TreeSet<>();
-        refs.add("MarriageCertificate");
+        refs.add(GetRandomString());
         when(timelineDataMock.getRefs()).thenReturn(refs);
         MarriageCertificate marriageCertificate = new MarriageCertificate();
         marriageCertificate.setBride(bride);
         marriageCertificate.setGroom(groom);
+        marriageCertificate.setBrideRank("RandomQ");
         marriageCertificate.setWhenMarried("25/01/1953");
         marriageCertificates.add(marriageCertificate);
 
-
         gatherMarriageCertificateBrideTimeLineData.gather(marriageCertificates);
-        assertEquals("Marriage Certificate for : " + bride.toString() + " and " + groom.toString(), refs.first());
+        assertTrue(refs.contains("Marriage Certificate for : " + bride.toString() + " and " + groom.toString()));
     }
 }

+ 12 - 5
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateBrideTimeLineDataWhenMarriedTest.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 GatherMarriageCertificateBrideTimeLineDataWhenMarriedTest {
     @Mock
     private TimeLineData timelineDataMock;
 
+    @Mock
+    private StringToDMYConverter stringToDMYConverterMock;
+
     private List<MarriageCertificate> marriageCertificates;
 
     private TreeMap<DMY, List<String>> timeLine;
@@ -53,7 +59,12 @@ class GatherMarriageCertificateBrideTimeLineDataWhenMarriedTest {
 
     @BeforeEach
     void setUp() {
-        gatherMarriageCertificateBrideTimeLineData = new GatherMarriageCertificateBrideTimeLineDataImpl(this.timelineDataMock);
+        gatherMarriageCertificateBrideTimeLineData = new GatherMarriageCertificateBrideTimeLineDataImpl(
+                this.timelineDataMock,
+                stringToDMYConverterMock);
+        DMY dmy = new DMYImpl();
+        dmy.parse("25/01/1953");
+        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
         marriageCertificates = new ArrayList<>();
 
         marriageCertificate = new MarriageCertificate();
@@ -71,7 +82,6 @@ class GatherMarriageCertificateBrideTimeLineDataWhenMarriedTest {
         marriageCertificate.setBride(bride);
         marriageCertificate.setGroom(groom);
         marriageCertificate.setWhereMarried(whereMarried);
-
     }
 
     private void setUpTrackedCertificate() {
@@ -106,7 +116,4 @@ class GatherMarriageCertificateBrideTimeLineDataWhenMarriedTest {
         String expected = "Married " + groom.toString() + " at " + untrackedPlace;
         assertTrue(timeLine.firstEntry().getValue().contains(expected));
     }
-
-
-
 }