Procházet zdrojové kódy

CensusEntry Sex Enum in domain

Andrew Grant před 7 měsíci
rodič
revize
cb206d0c2e

+ 12 - 4
src/main/java/scot/carricksoftware/grants/domains/census/CensusEntry.java

@@ -8,10 +8,7 @@ package scot.carricksoftware.grants.domains.census;
 import jakarta.persistence.*;
 import scot.carricksoftware.grants.BaseEntity;
 import scot.carricksoftware.grants.domains.people.Person;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryGaelic;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryRelationship;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryCondition;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryWorker;
+import scot.carricksoftware.grants.enums.censusentry.*;
 
 @Entity
 public class CensusEntry extends BaseEntity {
@@ -40,6 +37,9 @@ public class CensusEntry extends BaseEntity {
     @Enumerated(EnumType.STRING)
     private CensusEntryWorker worker;
 
+    @Enumerated(EnumType.STRING)
+    private CensusEntrySex Sex;
+
     private String age;
 
     private String whereBorn;
@@ -120,4 +120,12 @@ public class CensusEntry extends BaseEntity {
     public void setWhereBorn(String whereBorn) {
         this.whereBorn = whereBorn;
     }
+
+    public CensusEntrySex getSex() {
+        return Sex;
+    }
+
+    public void setSex(CensusEntrySex sex) {
+        Sex = sex;
+    }
 }

+ 20 - 0
src/main/java/scot/carricksoftware/grants/enums/censusentry/CensusEntrySex.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.enums.censusentry;
+
+public enum CensusEntrySex {
+
+    @SuppressWarnings("unused") MALE("Male"),
+    FEMALE ("Female");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    CensusEntrySex(String label) {
+        this.label = label;
+    }
+}

+ 9 - 4
src/test/java/scot/carricksoftware/grants/GenerateCensusEntryRandomEnums.java

@@ -6,10 +6,7 @@
 package scot.carricksoftware.grants;
 
 import org.springframework.stereotype.Component;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryCondition;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryGaelic;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryRelationship;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryWorker;
+import scot.carricksoftware.grants.enums.censusentry.*;
 
 import java.util.Random;
 
@@ -49,4 +46,12 @@ public class GenerateCensusEntryRandomEnums {
         int randomInt = random.nextInt(0, workers.length);
         return workers[randomInt];
     }
+
+    public static CensusEntrySex GetRandomCensusEntrySex() {
+        CensusEntrySex[] sex = CensusEntrySex.values();
+
+        Random random = new Random();
+        int randomInt = random.nextInt(0, sex.length);
+        return sex[randomInt];
+    }
 }

+ 13 - 4
src/test/java/scot/carricksoftware/grants/domains/census/CensusEntryEnumTest.java

@@ -9,10 +9,7 @@ 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 scot.carricksoftware.grants.enums.censusentry.CensusEntryCondition;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryRelationship;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryGaelic;
-import scot.carricksoftware.grants.enums.censusentry.CensusEntryWorker;
+import scot.carricksoftware.grants.enums.censusentry.*;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
@@ -76,4 +73,16 @@ class CensusEntryEnumTest {
         assertEquals(worker, entry.getWorker());
     }
 
+    @Test
+    void getSexTest() {
+        assertNull(entry.getSex());
+    }
+
+    @Test
+    void setSexTest() {
+        CensusEntrySex sex = GetRandomCensusEntrySex();
+        entry.setSex(sex);
+        assertEquals(sex, entry.getSex());
+    }
+
 }

+ 9 - 9
src/test/java/scot/carricksoftware/grants/validators/certificates/DivorceCertificateCommandValidatorTest.java

@@ -112,18 +112,18 @@ class DivorceCertificateCommandValidatorTest {
 
     @Test
     public void notTheSamePersonTest() {
-       Person firstParty = GetRandomPerson();
-       Person secondParty = GetRandomPerson();
-       while (!firstParty.getFirstName().equals(secondParty.getLastName())) {
-           secondParty = GetRandomPerson();
-       }
+        Person firstParty = GetRandomPerson();
+        Person secondParty = GetRandomPerson();
+        while (!firstParty.getFirstName().equals(secondParty.getLastName())) {
+            secondParty = GetRandomPerson();
+        }
 
-       divorceCertificateCommand.setFirstParty(firstParty);
-       divorceCertificateCommand.setSecondParty(secondParty);
+        divorceCertificateCommand.setFirstParty(firstParty);
+        divorceCertificateCommand.setSecondParty(secondParty);
 
-       commandValidator.validate(divorceCertificateCommand, bindingResultMock);
+        commandValidator.validate(divorceCertificateCommand, bindingResultMock);
 
-       verifyNoInteractions(bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
     }