AddCensusEntryTest.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * Copyright (c) 2025. Andrew Grant Carrick Software. All rights reserved
  3. *
  4. */
  5. package scot.carricksoftware.grantswriter.data.helpers;
  6. import org.junit.jupiter.api.BeforeEach;
  7. import org.junit.jupiter.api.Test;
  8. import org.junit.jupiter.api.extension.ExtendWith;
  9. import org.mockito.Mock;
  10. import org.mockito.junit.jupiter.MockitoExtension;
  11. import scot.carricksoftware.grantswriter.data.DMY;
  12. import scot.carricksoftware.grantswriter.domains.census.Census;
  13. import scot.carricksoftware.grantswriter.domains.census.CensusEntry;
  14. import scot.carricksoftware.grantswriter.domains.places.Place;
  15. import scot.carricksoftware.grantswriter.enums.census.CensusDate;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. import java.util.SortedSet;
  19. import java.util.TreeMap;
  20. import java.util.TreeSet;
  21. import static org.junit.jupiter.api.Assertions.assertEquals;
  22. import static org.mockito.Mockito.when;
  23. import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
  24. import static scot.carricksoftware.grantswriter.GenerateRandomPlaceValues.GetRandomPlace;
  25. @ExtendWith(MockitoExtension.class)
  26. class AddCensusEntryTest {
  27. private AddCensusEntry addCensusEntry;
  28. private TreeMap<DMY, List<String>> timeLine;
  29. private List<CensusEntry> censusEntryList;
  30. private SortedSet<String> refs;
  31. @Mock
  32. private Census censusMock;
  33. @Mock
  34. private CensusEntry censusEntryMock;
  35. @BeforeEach
  36. void setUp() {
  37. addCensusEntry = new AddCensusEntryImpl();
  38. refs = new TreeSet<>();
  39. censusEntryList = new ArrayList<>();
  40. timeLine = new TreeMap<>();
  41. }
  42. @Test
  43. void refsTest() {
  44. String toString = GetRandomString();
  45. when(censusEntryMock.getCensus()).thenReturn(censusMock);
  46. when(censusMock.getCensusDate()).thenReturn(CensusDate.CENSUS_1861);
  47. when(censusMock.getPlace()).thenReturn(GetRandomPlace());
  48. when(censusMock.toString()).thenReturn(toString);
  49. censusEntryList.add(censusEntryMock);
  50. addCensusEntry.add(timeLine, refs, censusEntryList);
  51. assertEquals("Census: " + toString, refs.first());
  52. }
  53. @Test
  54. void timeLineTest() {
  55. Place place = GetRandomPlace();
  56. when(censusEntryMock.getCensus()).thenReturn(censusMock);
  57. when(censusMock.getCensusDate()).thenReturn(CensusDate.CENSUS_1861);
  58. when(censusMock.getPlace()).thenReturn(place);
  59. censusEntryList.add(censusEntryMock);
  60. addCensusEntry.add(timeLine, refs, censusEntryList);
  61. assertEquals("Recorded as being at " + place, timeLine.firstEntry().getValue().get(0));
  62. }
  63. }