Browse Source

Timeline renamed to TimeLine

Andrew Grant 3 months ago
parent
commit
2dd636496e

+ 7 - 3
src/main/java/scot/carricksoftware/grantswriter/data/TimeLineDataImpl.java

@@ -21,8 +21,12 @@ public class TimeLineDataImpl implements TimeLineData {
 
     private SortedSet<String> refs;
 
-    public TimeLineDataImpl() {
-        this.timeline = new TreeMap<>();
+    @SuppressWarnings({"FieldCanBeLocal", "unused"})
+    private final TimeLineDateComparator timeLineDateComparator;
+
+    public TimeLineDataImpl(TimeLineDateComparator timeLineDateComparator) {
+        this.timeLineDateComparator = timeLineDateComparator;
+        this.timeline = new TreeMap<>(new TimeLineDateComparator());
         this.refs = new TreeSet<>();
     }
 
@@ -45,7 +49,6 @@ public class TimeLineDataImpl implements TimeLineData {
             timeline.put(key, values);
 
             if (censusEntry.getPersonalOccupation() != null && !censusEntry.getPersonalOccupation().isEmpty()) {
-                values = timeline.get(key);
                 values.add("Occupation recorded as " +
                                 censusEntry.getPersonalOccupation());
                 timeline.put(key, values);
@@ -73,4 +76,5 @@ public class TimeLineDataImpl implements TimeLineData {
     public void setRefs(SortedSet<String> refs) {
         this.refs = refs;
     }
+
 }

+ 9 - 2
src/main/java/scot/carricksoftware/grantswriter/data/TimeLineDateComparator.java

@@ -5,12 +5,15 @@
 
 package scot.carricksoftware.grantswriter.data;
 
+import org.springframework.stereotype.Component;
+
 import java.util.Comparator;
 
+
+@Component
 public class TimeLineDateComparator implements Comparator<String> {
 
     @SuppressWarnings("ComparatorMethodParameterNotUsed")
-    @Override
     public int compare(String a, String b) {
         String[] aParts = a.split("/");
         String[] bParts = b.split("/");
@@ -27,6 +30,10 @@ public class TimeLineDateComparator implements Comparator<String> {
             return 1;
         }
 
-        return 0;
+        return -1;
     }
+
+
+
+
 }

+ 8 - 10
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteTimeLineImpl.java

@@ -44,18 +44,16 @@ public class WriteTimeLineImpl implements WriteTimeLine {
     }
 
     private void writeTheData(TreeMap<String, List<String>> map) {
-        logger.info("PersonSubSectionTimeLineWriterImp::writeTHeData");
+        logger.info("PersonSubSectionTimeLineWriterImp::writeTheData");
 
         for (String key : map.keySet()) {
-            List<String> value = map.get(key);
-            if (value != null) {
-                for (String event : value) {
-                    String builder = key +
-                            LatexConstants.TABLE_COLUMN_END +
-                            event +
-                            LatexConstants.TABLE_LINE_END;
-                    fileWriter.writeLine(builder);
-                }
+            var value = map.get(key);
+            for (String event : value) {
+                String builder = key +
+                        LatexConstants.TABLE_COLUMN_END +
+                        event +
+                        LatexConstants.TABLE_LINE_END;
+                fileWriter.writeLine(builder);
             }
         }
     }

+ 7 - 1
src/test/java/scot/carricksoftware/grantswriter/data/TimeLineDataAddTest.java

@@ -9,6 +9,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.springframework.util.LinkedMultiValueMap;
 import scot.carricksoftware.grantswriter.domains.census.Census;
@@ -31,11 +32,16 @@ public class TimeLineDataAddTest {
     private TimeLineData timelineData;
     private List<CensusEntry> censusEntryList;
     private CensusEntry censusEntry;
+
+    @Mock
+    private TimeLineDateComparator  timeLineDateComparatorMock;
+
+
     Census census;
 
     @BeforeEach
     void setUp() {
-        timelineData = new TimeLineDataImpl();
+        timelineData = new TimeLineDataImpl(timeLineDateComparatorMock);
         Place place = GetRandomPlace();
 
         census = new Census();

+ 18 - 1
src/test/java/scot/carricksoftware/grantswriter/data/TimeLineDataGetterAndSetterTest.java

@@ -7,6 +7,10 @@ package scot.carricksoftware.grantswriter.data;
 
 import org.junit.jupiter.api.BeforeEach;
 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.enums.census.CensusDate;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -18,13 +22,26 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
 
+@ExtendWith(MockitoExtension.class)
 class TimeLineDataGetterAndSetterTest {
 
     private TimeLineData timelineData;
 
+
+    @Mock
+    private TimeLineDateComparator  timeLineDateComparatorMock;
+
+    @SuppressWarnings("unused")
+    @Mock
+    private TreeMap<String, List<String>> mapMock;
+
+    @SuppressWarnings("unused")
+    @Mock
+    private TreeSet<CensusDate> censusDateSetMock;
+
     @BeforeEach
     void setUp() {
-        timelineData = new TimeLineDataImpl();
+        timelineData = new TimeLineDataImpl(timeLineDateComparatorMock);
     }
 
     @Test

+ 27 - 0
src/test/java/scot/carricksoftware/grantswriter/data/TimeLineDateComparatorTest.java

@@ -7,20 +7,47 @@ package scot.carricksoftware.grantswriter.data;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.TreeMap;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
+@ExtendWith(MockitoExtension.class)
 class TimeLineDateComparatorTest {
 
     private TimeLineDateComparator comparator;
 
+    private TreeMap<String, List<String>> map;
+
     @BeforeEach
     void setUp() {
         comparator = new TimeLineDateComparator();
+        map = new TreeMap<>(comparator);
     }
 
     @Test
     void constructorTest() {
         assertNotNull(comparator);
     }
+
+    @SuppressWarnings("unused")
+    @Test
+    void newDataIsSortedCorrectly() {
+        List<String> StringList = new ArrayList<>(Arrays.asList("a","b","c"));
+        map.put("25/01/54", StringList);
+        map.put("25/01/52", StringList);
+        map.put("25/01/53", StringList);
+
+        List<String> data = new ArrayList<>();
+        //noinspection UnusedAssignment
+        data = map.get("25/01/54");
+        int dbg = -1;
+    }
+
+
 }