Jelajahi Sumber

TimeLine totally refactored

Andrew Grant 3 bulan lalu
induk
melakukan
1f207d9805
15 mengubah file dengan 194 tambahan dan 134 penghapusan
  1. 2 0
      src/main/java/scot/carricksoftware/grantswriter/domains/people/Person.java
  2. 15 17
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/PersonSubSectionTimeLineWriterImpl.java
  3. 10 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/ClearExistingTimeLineData.java
  4. 25 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/ClearExistingTimeLineDataImpl.java
  5. 10 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/GatherCensusTimeLineData.java
  6. 35 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/GatherCensusTimeLineDataImpl.java
  7. 10 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/GatherTimeLineData.java
  8. 23 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/GatherTimeLineDataImpl.java
  9. 1 3
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteReferences.java
  10. 9 4
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteReferencesImpl.java
  11. 1 6
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteTimeLine.java
  12. 9 4
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteTimeLineImpl.java
  13. 16 38
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/PersonSubSectionTimeLineWriterTest.java
  14. 12 22
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteReferencesTest.java
  15. 16 40
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteTimeLineTest.java

+ 2 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/people/Person.java

@@ -7,9 +7,11 @@ package scot.carricksoftware.grantswriter.domains.people;
 
 import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
+import org.springframework.stereotype.Component;
 import scot.carricksoftware.grantswriter.BaseEntity;
 
 @Entity
+@Component
 public class Person extends BaseEntity {
 
     @Column(name = "`last_name`")

+ 15 - 17
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/PersonSubSectionTimeLineWriterImpl.java

@@ -8,36 +8,35 @@ 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.data.TimeLineData;
-import scot.carricksoftware.grantswriter.domains.census.CensusEntry;
 import scot.carricksoftware.grantswriter.domains.people.Person;
-import scot.carricksoftware.grantswriter.services.censusentry.CensusEntryService;
 import scot.carricksoftware.grantswriter.writer.latex.LatexSubSectionHeader;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.ClearExistingTimeLineData;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.GatherTimeLineData;
 import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.WriteReferences;
 import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.WriteTimeLine;
 
-import java.util.List;
-
 @Component
 public class PersonSubSectionTimeLineWriterImpl implements PersonSubSectionTimeLineWriter {
 
     private static final Logger logger = LogManager.getLogger(PersonSubSectionTimeLineWriterImpl.class);
 
     private final LatexSubSectionHeader latexSubSectionHeader;
-    private final CensusEntryService censusEntryService;
-    private final TimeLineData timelineData;
     private final WriteTimeLine writeTimeLine;
     private final WriteReferences writeReferences;
+    private final ClearExistingTimeLineData clearExistingTimeLineData;
+    private final GatherTimeLineData gatherTimeLineData;
 
     public PersonSubSectionTimeLineWriterImpl(LatexSubSectionHeader latexSubSectionHeader,
-                                              CensusEntryService censusEntryService,
-                                              TimeLineData timelineData,
-                                              WriteTimeLine writeTimeLine, WriteReferences writeReferences) {
+                                              WriteTimeLine writeTimeLine,
+                                              WriteReferences writeReferences,
+                                              ClearExistingTimeLineData clearExistingTimeLineData,
+                                              GatherTimeLineData gatherTimeLineData) {
+
         this.latexSubSectionHeader = latexSubSectionHeader;
-        this.censusEntryService = censusEntryService;
-        this.timelineData = timelineData;
         this.writeTimeLine = writeTimeLine;
         this.writeReferences = writeReferences;
+        this.clearExistingTimeLineData = clearExistingTimeLineData;
+        this.gatherTimeLineData = gatherTimeLineData;
     }
 
     @Override
@@ -45,12 +44,11 @@ public class PersonSubSectionTimeLineWriterImpl implements PersonSubSectionTimeL
         logger.info("PersonSubSectionTimeLineWriterImp::write");
 
         latexSubSectionHeader.write("Timeline");
-        List<CensusEntry> censusEntryList = censusEntryService.findAllByPerson(person);
-        timelineData.clear();
-        timelineData.add(censusEntryList);
+        clearExistingTimeLineData.clear();
+        gatherTimeLineData.gather();
 
-        writeTimeLine.write(timelineData.getTimeLine());
-        writeReferences.write(timelineData.getRefs());
+        writeTimeLine.write();
+        writeReferences.write();
     }
 
 

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

@@ -0,0 +1,10 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
+
+public interface ClearExistingTimeLineData {
+    void clear();
+}

+ 25 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/ClearExistingTimeLineDataImpl.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
+
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grantswriter.data.TimeLineData;
+
+
+@Component
+public class ClearExistingTimeLineDataImpl implements ClearExistingTimeLineData {
+     private final TimeLineData timeLineData;
+
+     public ClearExistingTimeLineDataImpl(TimeLineData timeLineData) {
+          this.timeLineData = timeLineData;
+     }
+
+     @Override
+     public void clear() {
+          timeLineData.clear();
+     }
+
+}

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

@@ -0,0 +1,10 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
+
+public interface GatherCensusTimeLineData {
+    void gather();
+}

+ 35 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/GatherCensusTimeLineDataImpl.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
+
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grantswriter.data.TimeLineData;
+import scot.carricksoftware.grantswriter.domains.census.CensusEntry;
+import scot.carricksoftware.grantswriter.domains.people.Person;
+import scot.carricksoftware.grantswriter.services.censusentry.CensusEntryService;
+
+import java.util.List;
+
+@Component
+public class GatherCensusTimeLineDataImpl implements GatherCensusTimeLineData {
+
+    private final Person person;
+    private final CensusEntryService censusEntryService;
+    private final TimeLineData timelineData;
+
+    public GatherCensusTimeLineDataImpl(Person person,
+                                        CensusEntryService censusEntryService, TimeLineData timelineData) {
+        this.person = person;
+        this.censusEntryService = censusEntryService;
+        this.timelineData = timelineData;
+    }
+
+    @Override
+    public void gather() {
+        List<CensusEntry> censusEntryList = censusEntryService.findAllByPerson(person);
+        timelineData.add(censusEntryList);
+    }
+}

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

@@ -0,0 +1,10 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
+
+public interface GatherTimeLineData {
+    void gather();
+}

+ 23 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/GatherTimeLineDataImpl.java

@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class GatherTimeLineDataImpl implements GatherTimeLineData {
+
+   private final GatherCensusTimeLineData gatherCensusTimeLineData;
+
+    public GatherTimeLineDataImpl(GatherCensusTimeLineData gatherCensusTimeLineData) {
+        this.gatherCensusTimeLineData = gatherCensusTimeLineData;
+    }
+
+    @Override
+    public void gather() {
+        gatherCensusTimeLineData.gather();
+    }
+}

+ 1 - 3
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteReferences.java

@@ -6,9 +6,7 @@
 package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
 
 
-import java.util.SortedSet;
-
 public interface WriteReferences {
 
-    void write(SortedSet<String> references);
+    void write();
 }

+ 9 - 4
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteReferencesImpl.java

@@ -9,6 +9,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
 import scot.carricksoftware.grantswriter.constants.LatexConstants;
+import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.writer.FileWriter;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTabLeEnd;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTableStart;
@@ -23,26 +24,30 @@ public class WriteReferencesImpl implements WriteReferences {
     private final FileWriter fileWriter;
     private final LatexLongTableStart latexLongTableStart;
     private final LatexLongTabLeEnd latexLongTabLeEnd;
+    private final TimeLineData timeLineData;
 
     public WriteReferencesImpl(FileWriter fileWriter,
                                LatexLongTableStart latexLongTableStart,
-                               LatexLongTabLeEnd latexLongTabLeEnd) {
+                               LatexLongTabLeEnd latexLongTabLeEnd,
+                               TimeLineData timeLineData) {
         this.fileWriter = fileWriter;
         this.latexLongTableStart = latexLongTableStart;
         this.latexLongTabLeEnd = latexLongTabLeEnd;
+        this.timeLineData = timeLineData;
     }
 
     @Override
-    public void write(SortedSet<String> references) {
+    public void write() {
         logger.info("WriteReferences::write");
 
         latexLongTableStart.write("l");
-        writeTheData(references);
+        writeTheData();
         latexLongTabLeEnd.write();
     }
 
-    private void writeTheData(SortedSet<String> references) {
+    private void writeTheData() {
         logger.info("WriteReferences::writeTheData");
+        SortedSet<String> references = timeLineData.getRefs();
         for (String reference : references) {
             String line =
                     reference + LatexConstants.TABLE_LINE_END;

+ 1 - 6
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteTimeLine.java

@@ -5,11 +5,6 @@
 
 package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers;
 
-import scot.carricksoftware.grantswriter.data.DMY;
-
-import java.util.List;
-import java.util.TreeMap;
-
 public interface WriteTimeLine {
-    void write (TreeMap<DMY, List<String>> map);
+    void write ();
 }

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

@@ -10,6 +10,7 @@ import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
 import scot.carricksoftware.grantswriter.constants.LatexConstants;
 import scot.carricksoftware.grantswriter.data.DMY;
+import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.writer.FileWriter;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTabLeEnd;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTableStart;
@@ -26,26 +27,30 @@ public class WriteTimeLineImpl implements WriteTimeLine {
     private final FileWriter fileWriter;
     private final LatexLongTableStart latexLongTableStart;
     private final LatexLongTabLeEnd latexLongTabLeEnd;
+    private final TimeLineData timeLineData;
 
     public WriteTimeLineImpl(FileWriter fileWriter,
                              LatexLongTableStart latexLongTableStart,
-                             LatexLongTabLeEnd latexLongTabLeEnd) {
+                             LatexLongTabLeEnd latexLongTabLeEnd, TimeLineData timeLineData) {
         this.fileWriter = fileWriter;
         this.latexLongTableStart = latexLongTableStart;
         this.latexLongTabLeEnd = latexLongTabLeEnd;
+        this.timeLineData = timeLineData;
     }
 
     @Override
-    public void write(TreeMap<DMY, List<String>> map) {
+    public void write() {
         logger.info("PersonSubSectionTimeLineWriterImp::write");
 
         latexLongTableStart.write("l l");
-        writeTheData(map);
+        writeTheData();
         latexLongTabLeEnd.write();
     }
 
-    private void writeTheData(TreeMap<DMY, List<String>> map) {
+    private void writeTheData() {
         logger.info("PersonSubSectionTimeLineWriterImp::writeTheData");
+
+        TreeMap<DMY, List<String>> map = timeLineData.getTimeLine();
         for (DMY dmy : map.keySet()) {
             var value = map.get(dmy);
             if (value != null && !value.isEmpty()) {

+ 16 - 38
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/PersonSubSectionTimeLineWriterTest.java

@@ -10,20 +10,14 @@ 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.data.DMY;
-import scot.carricksoftware.grantswriter.data.TimeLineData;
-import scot.carricksoftware.grantswriter.domains.census.CensusEntry;
 import scot.carricksoftware.grantswriter.domains.people.Person;
-import scot.carricksoftware.grantswriter.services.censusentry.CensusEntryService;
 import scot.carricksoftware.grantswriter.writer.latex.LatexSubSectionHeader;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.ClearExistingTimeLineData;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.GatherTimeLineData;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.WriteReferences;
 import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.WriteTimeLine;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.TreeMap;
-
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
 @ExtendWith(MockitoExtension.class)
 class PersonSubSectionTimeLineWriterTest {
@@ -34,24 +28,28 @@ class PersonSubSectionTimeLineWriterTest {
     private LatexSubSectionHeader latexSubSectionHeaderMock;
 
     @Mock
-    private CensusEntryService censusEntryServiceMock;
+    private WriteTimeLine writeTimeLineMock;
 
     @Mock
-    private TimeLineData timeLineDataMock;
+    private Person personMock;
 
     @Mock
-    private WriteTimeLine writeTimeLineMock;
+    private WriteReferences writeReferencesMock;
 
     @Mock
-    private Person personMock;
+    private ClearExistingTimeLineData clearExistingTimeLineDataMock;
+
+    @Mock
+    private GatherTimeLineData gatherTimeLineDataMock;
 
     @BeforeEach
     void setUp() {
         writer = new PersonSubSectionTimeLineWriterImpl(
                 latexSubSectionHeaderMock,
-                censusEntryServiceMock,
-                timeLineDataMock,
-                writeTimeLineMock);
+                writeTimeLineMock,
+                writeReferencesMock,
+                clearExistingTimeLineDataMock,
+                gatherTimeLineDataMock);
     }
 
     @Test
@@ -60,30 +58,10 @@ class PersonSubSectionTimeLineWriterTest {
         verify(latexSubSectionHeaderMock).write("Timeline");
     }
 
-    @Test
-    void clearTest() {
-        writer.write(personMock);
-        verify(timeLineDataMock).clear();
-    }
 
-    @Test
-    void addTest() {
-        List<CensusEntry> censusEntries = new ArrayList<>();
-        when(censusEntryServiceMock.findAllByPerson(personMock)).thenReturn(censusEntries);
-        writer.write(personMock);
-        verify(timeLineDataMock).add(censusEntries);
-    }
 
-    @Test
-    void writeTest() {
-        TreeMap<DMY, List<String>> timeLine = new TreeMap<>();
-        List<CensusEntry> censusEntries = new ArrayList<>();
-        when(censusEntryServiceMock.findAllByPerson(personMock)).thenReturn(censusEntries);
-        when(timeLineDataMock.getTimeLine()).thenReturn(timeLine);
-        when(censusEntryServiceMock.findAllByPerson(personMock)).thenReturn(censusEntries);
 
-        writer.write(personMock);
-        verify(writeTimeLineMock).write(timeLine);
-    }
+
+
 
 }

+ 12 - 22
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteReferencesTest.java

@@ -8,26 +8,20 @@ package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
+import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.writer.FileWriter;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTabLeEnd;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTableStart;
 
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import static org.mockito.Mockito.inOrder;
-import static org.mockito.Mockito.verify;
-import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 @ExtendWith(MockitoExtension.class)
 class WriteReferencesTest {
 
     private WriteReferences writeReferences;
 
-    private final SortedSet<String> references = new TreeSet<>();
 
     @Mock
     private FileWriter fileWriterMock;
@@ -38,25 +32,21 @@ class WriteReferencesTest {
     @Mock
     private LatexLongTabLeEnd latexLongTabLeEndMock;
 
+    @Mock
+    TimeLineData timeLineDataMock;
+
     @BeforeEach
     void setUp() {
-        writeReferences = new WriteReferencesImpl(fileWriterMock, latexLongTableStartMock, latexLongTabLeEndMock);
+        writeReferences = new WriteReferencesImpl(
+                fileWriterMock,
+                latexLongTableStartMock,
+                latexLongTabLeEndMock,
+                timeLineDataMock);
     }
 
     @Test
-    void writeTest() {
-        InOrder inorder = inOrder(latexLongTableStartMock, latexLongTabLeEndMock);
-        writeReferences.write(references);
-        inorder.verify(latexLongTableStartMock).write("l");
-        inorder.verify(latexLongTabLeEndMock).write();
+    void constructorTest() {
+        assertNotNull(writeReferences);
     }
 
-    @Test
-    void writeTheDataTest() {
-        String ref = GetRandomString();
-        String required = ref + "\\\\";
-        references.add(ref);
-        writeReferences.write(references);
-        verify(fileWriterMock).writeLine(required);
-    }
 }

+ 16 - 40
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/WriteTimeLineTest.java

@@ -8,22 +8,15 @@ package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
-import scot.carricksoftware.grantswriter.data.DMY;
-import scot.carricksoftware.grantswriter.data.DMYImpl;
+import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.writer.FileWriter;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTabLeEnd;
 import scot.carricksoftware.grantswriter.writer.latex.LatexLongTableStart;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.TreeMap;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-import static org.mockito.Mockito.inOrder;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
 
 @ExtendWith(MockitoExtension.class)
 class WriteTimeLineTest {
@@ -34,48 +27,31 @@ class WriteTimeLineTest {
     private FileWriter fileWriterMock;
 
     @Mock
-    LatexLongTableStart latexLongTableStartMock;
+    private LatexLongTableStart latexLongTableStartMock;
 
     @Mock
-    LatexLongTabLeEnd latexLongTabLeEndMock;
+    private LatexLongTabLeEnd latexLongTabLeEndMock;
+
+    @Mock
+    private TimeLineData timeLineDataMock;
 
     @BeforeEach
     void setUp() {
-        writeTimeLine = new WriteTimeLineImpl(fileWriterMock, latexLongTableStartMock, latexLongTabLeEndMock);
+        writeTimeLine = new WriteTimeLineImpl(
+                fileWriterMock,
+                latexLongTableStartMock,
+                latexLongTabLeEndMock,
+                timeLineDataMock);
     }
 
     @Test
-    void writeOuterTest() {
-        TreeMap<DMY, List<String>> map = new TreeMap<>();
-        InOrder inOrder = inOrder(latexLongTableStartMock, latexLongTabLeEndMock);
-
-        writeTimeLine.write(map);
-        inOrder.verify(latexLongTableStartMock).write("l l");
-        inOrder.verify(latexLongTabLeEndMock).write();
+    void ConstructorTest() {
+        assertNotNull(writeTimeLine);
     }
 
-    @Test
-    void writeInnerTestNoValues() {
-        TreeMap<DMY, List<String>> map = new TreeMap<>();
-        writeTimeLine.write(map);
-        verifyNoInteractions(fileWriterMock);
-    }
 
-    @Test
-    void writeInnerTestValues() {
-        TreeMap<DMY, List<String>> map = new TreeMap<>();
-        DMY dmy = new DMYImpl();
-        dmy.parse("25/01/1953");
-        List<String> stringList = new ArrayList<>();
-        String event = "Event";
-        stringList.add(event);
-        map.put(dmy, stringList);
-
-        String required = "25/01/1953&" + event + "\\\\";
-
-        writeTimeLine.write(map);
-        verify(fileWriterMock).writeLine(required);
-    }
+
+
 
 
 }