Browse Source

Working at home and Industry or Service added to CensusEntry domain

Andrew Grant 6 months ago
parent
commit
3f13d4ec79

+ 26 - 0
src/main/java/scot/carricksoftware/grants/domains/census/CensusEntry.java

@@ -9,6 +9,7 @@ import jakarta.persistence.*;
 import scot.carricksoftware.grants.BaseEntity;
 import scot.carricksoftware.grants.domains.people.Person;
 import scot.carricksoftware.grants.enums.censusentry.*;
+import scot.carricksoftware.grants.enums.general.YesNo;
 
 @Entity
 public class CensusEntry extends BaseEntity {
@@ -91,6 +92,15 @@ public class CensusEntry extends BaseEntity {
     @Column(name = "`years_Completed_Marriage`")
     private String yearsCompletedMarriage;
 
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`working_at_home`")
+    private YesNo workingAtHome;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`industry_or_service`")
+    private String industryOrService;
+
     public Person getPerson() {
         return person;
     }
@@ -238,4 +248,20 @@ public class CensusEntry extends BaseEntity {
     public void setYearsCompletedMarriage(String yearsCompletedMarriage) {
         this.yearsCompletedMarriage = yearsCompletedMarriage;
     }
+
+    public YesNo getWorkingAtHome() {
+        return workingAtHome;
+    }
+
+    public void setWorkingAtHome(YesNo yesNo) {
+        this.workingAtHome = yesNo;
+    }
+
+    public String getIndustryOrService() {
+        return industryOrService;
+    }
+
+    public void setIndustryOrService(String industryOrService) {
+        this.industryOrService = industryOrService;
+    }
 }

+ 20 - 0
src/main/java/scot/carricksoftware/grants/enums/general/YesNo.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.enums.general;
+
+public enum YesNo {
+
+    @SuppressWarnings("unused") YES("Yes"),
+    NO ("No");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    YesNo(String label) {
+        this.label = label;
+    }
+}

+ 27 - 0
src/test/java/scot/carricksoftware/grants/GenerateGeneralRandomEnums.java

@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants;
+
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grants.enums.general.YesNo;
+
+import java.util.Random;
+
+@SuppressWarnings("unused")
+@Component
+public class GenerateGeneralRandomEnums {
+
+    public static YesNo GetRandomGeneralYesNo() {
+
+        YesNo[] yesNoArray = YesNo.values();
+
+        Random random = new Random();
+        int randomInt = random.nextInt(0, yesNoArray.length);
+        return yesNoArray[randomInt];
+    }
+
+
+}

+ 0 - 2
src/test/java/scot/carricksoftware/grants/commands/census/CensusCommandPartOneTest.java

@@ -78,6 +78,4 @@ class CensusCommandPartOneTest {
     }
 
 
-
-
 }

+ 15 - 0
src/test/java/scot/carricksoftware/grants/domains/census/CensusEntryEnumTest.java

@@ -10,10 +10,12 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.junit.jupiter.MockitoExtension;
 import scot.carricksoftware.grants.enums.censusentry.*;
+import scot.carricksoftware.grants.enums.general.YesNo;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static scot.carricksoftware.grants.GenerateCensusEntryRandomEnums.*;
+import static scot.carricksoftware.grants.GenerateGeneralRandomEnums.GetRandomGeneralYesNo;
 
 @ExtendWith(MockitoExtension.class)
 class CensusEntryEnumTest {
@@ -85,4 +87,17 @@ class CensusEntryEnumTest {
         assertEquals(sex, entry.getSex());
     }
 
+    @Test
+    void getWorkingAtHomeTest() {
+        assertNull(entry.getWorkingAtHome());
+    }
+
+    @Test
+    void setWorkingAtHomeTest() {
+        YesNo workingAtHome = GetRandomGeneralYesNo();
+        entry.setWorkingAtHome(workingAtHome);
+        assertEquals(workingAtHome, entry.getWorkingAtHome());
+    }
+
+
 }

+ 11 - 0
src/test/java/scot/carricksoftware/grants/domains/census/CensusEntryPartThreeTest.java

@@ -73,6 +73,17 @@ class CensusEntryPartThreeTest {
         assertEquals(string, entry.getYearsCompletedMarriage());
     }
 
+    @Test
+    public void getIndustryOrServiceTest() {
+        assertNull(entry.getIndustryOrService());
+    }
+
+    @Test
+    public void setIndustryOrServiceTest() {
+        String string = GetRandomString();
+        entry.setIndustryOrService(string);
+        assertEquals(string, entry.getIndustryOrService());
+    }
 
 
 }

+ 0 - 1
src/test/java/scot/carricksoftware/grants/domains/census/CensusPartOneTest.java

@@ -86,5 +86,4 @@ public class CensusPartOneTest {
     }
 
 
-
 }

+ 2 - 2
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandNonNumericCoexistenceTest.java

@@ -73,8 +73,8 @@ public class CensusCommandNonNumericCoexistenceTest {
                 }
             }
         }
-        assertTrue(foundInhabitedRooms  && foundTotalRooms);
-   }
+        assertTrue(foundInhabitedRooms && foundTotalRooms);
+    }
 
     @Test
     public void testTotalRoomsAndRoomsWithWindowsTest() {

+ 2 - 1
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandValidatorTest.java

@@ -29,7 +29,8 @@ class CensusCommandValidatorTest {
     @Mock
     private BindingResult bindingResultMock;
 
-    @Mock private CensusCommand censusCommandMock;
+    @Mock
+    private CensusCommand censusCommandMock;
 
     @BeforeEach
     void setUp() {