浏览代码

Removed census validator two more tests

Andrew Grant 6 月之前
父节点
当前提交
f08e5ba0de

+ 99 - 0
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandNumericValidatorInhabitedHousesTest.java

@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.validators.census.census;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.validation.BindingResult;
+import scot.carricksoftware.grants.commands.census.CensusCommand;
+import scot.carricksoftware.grants.commands.census.CensusCommandImpl;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+import static scot.carricksoftware.grants.GenerateCensusRandomEnums.GetRandomCensusBoundaryType;
+import static scot.carricksoftware.grants.GenerateCensusRandomEnums.GetRandomCensusDate;
+import static scot.carricksoftware.grants.GenerateRandomPlaceValues.GetRandomPlace;
+
+@ExtendWith(MockitoExtension.class)
+public class CensusCommandNumericValidatorInhabitedHousesTest {
+
+    private CensusCommandValidatorNumeric validator;
+
+    private ArgumentCaptor<String> stringArgumentCaptor;
+    private ArgumentCaptor<String> stringArgumentCaptor2;
+    private ArgumentCaptor<String> stringArgumentCaptor3;
+    private ArgumentCaptor<Object[]> objectArgumentCaptor;
+
+    private CensusCommand censusCommand;
+
+    @Mock
+    BindingResult bindingResultMock;
+
+    @BeforeEach
+    void setUp() {
+        validator = new CensusCommandValidatorNumericImpl();
+        stringArgumentCaptor = ArgumentCaptor.forClass(String.class);
+        stringArgumentCaptor2 = ArgumentCaptor.forClass(String.class);
+        stringArgumentCaptor3 = ArgumentCaptor.forClass(String.class);
+        objectArgumentCaptor = ArgumentCaptor.forClass(Object[].class);
+
+        censusCommand = new CensusCommandImpl();
+        censusCommand.setPlace(GetRandomPlace());
+        censusCommand.setCensusDate(GetRandomCensusDate());
+        censusCommand.setBoundaryType(GetRandomCensusBoundaryType());
+    }
+
+    @Test
+    public void validateInhabitedHousesNegativeTest() {
+        censusCommand.setInhabitedHouses("-5");
+        validator.validate(censusCommand, bindingResultMock);
+        verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
+        assertEquals("inhabitedHouses", stringArgumentCaptor.getValue());
+        assertEquals("", stringArgumentCaptor2.getValue());
+        assertNull(objectArgumentCaptor.getValue());
+        assertEquals("Not a non negative integer.", stringArgumentCaptor3.getValue());
+    }
+
+
+    @Test
+    public void validateInhabitedHousesNonNumberTest() {
+        censusCommand.setInhabitedHouses("z");
+        validator.validate(censusCommand, bindingResultMock);
+        verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
+        assertEquals("inhabitedHouses", stringArgumentCaptor.getValue());
+        assertEquals("", stringArgumentCaptor2.getValue());
+        assertNull(objectArgumentCaptor.getValue());
+        assertEquals("Not a non negative integer.", stringArgumentCaptor3.getValue());
+    }
+
+    @Test
+    public void validateInhabitedHousesValidNumberTest() {
+        censusCommand.setInhabitedHouses("5");
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+
+    @Test
+    public void validateInhabitedHousesNullTest() {
+        censusCommand.setInhabitedHouses(null);
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+
+    @Test
+    public void validateInhabitedHousesZeroTest() {
+        censusCommand.setInhabitedHouses("0");
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+}

+ 0 - 5
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandNumericValidatorRoomsInhabitedTest.java

@@ -55,7 +55,6 @@ public class CensusCommandNumericValidatorRoomsInhabitedTest {
 
     @Test
     public void validateInhabitedRoomsNegativeTest() {
-        censusCommand.setInhabitedRooms("1");
         censusCommand.setInhabitedRooms("-5");
         validator.validate(censusCommand, bindingResultMock);
         verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
@@ -68,7 +67,6 @@ public class CensusCommandNumericValidatorRoomsInhabitedTest {
 
     @Test
     public void validateInhabitedRoomsNonNumberTest() {
-        censusCommand.setInhabitedRooms("1");
         censusCommand.setInhabitedRooms("z");
         validator.validate(censusCommand, bindingResultMock);
         verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
@@ -80,7 +78,6 @@ public class CensusCommandNumericValidatorRoomsInhabitedTest {
 
     @Test
     public void validateInhabitedRoomsValidNumberTest() {
-        censusCommand.setInhabitedRooms("3");
         censusCommand.setInhabitedRooms("5");
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);
@@ -88,7 +85,6 @@ public class CensusCommandNumericValidatorRoomsInhabitedTest {
 
     @Test
     public void validateInhabitedRoomsNullTest() {
-        censusCommand.setInhabitedRooms("3");
         censusCommand.setInhabitedRooms(null);
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);
@@ -96,7 +92,6 @@ public class CensusCommandNumericValidatorRoomsInhabitedTest {
 
     @Test
     public void validateInhabitedRoomsZeroTest() {
-        censusCommand.setInhabitedRooms("3");
         censusCommand.setInhabitedRooms("0");
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);

+ 99 - 0
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandNumericValidatorRoomsOccupiedTest.java

@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.validators.census.census;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.validation.BindingResult;
+import scot.carricksoftware.grants.commands.census.CensusCommand;
+import scot.carricksoftware.grants.commands.census.CensusCommandImpl;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+import static scot.carricksoftware.grants.GenerateCensusRandomEnums.GetRandomCensusBoundaryType;
+import static scot.carricksoftware.grants.GenerateCensusRandomEnums.GetRandomCensusDate;
+import static scot.carricksoftware.grants.GenerateRandomPlaceValues.GetRandomPlace;
+
+@ExtendWith(MockitoExtension.class)
+public class CensusCommandNumericValidatorRoomsOccupiedTest {
+
+    private CensusCommandValidatorNumeric validator;
+
+    private ArgumentCaptor<String> stringArgumentCaptor;
+    private ArgumentCaptor<String> stringArgumentCaptor2;
+    private ArgumentCaptor<String> stringArgumentCaptor3;
+    private ArgumentCaptor<Object[]> objectArgumentCaptor;
+
+    private CensusCommand censusCommand;
+
+    @Mock
+    BindingResult bindingResultMock;
+
+    @BeforeEach
+    void setUp() {
+        validator = new CensusCommandValidatorNumericImpl();
+        stringArgumentCaptor = ArgumentCaptor.forClass(String.class);
+        stringArgumentCaptor2 = ArgumentCaptor.forClass(String.class);
+        stringArgumentCaptor3 = ArgumentCaptor.forClass(String.class);
+        objectArgumentCaptor = ArgumentCaptor.forClass(Object[].class);
+
+        censusCommand = new CensusCommandImpl();
+        censusCommand.setPlace(GetRandomPlace());
+        censusCommand.setCensusDate(GetRandomCensusDate());
+        censusCommand.setBoundaryType(GetRandomCensusBoundaryType());
+    }
+
+    @Test
+    public void validateRoomsOccupiedNegativeTest() {
+        censusCommand.setRoomsOccupied("-5");
+        validator.validate(censusCommand, bindingResultMock);
+        verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
+        assertEquals("roomsOccupied", stringArgumentCaptor.getValue());
+        assertEquals("", stringArgumentCaptor2.getValue());
+        assertNull(objectArgumentCaptor.getValue());
+        assertEquals("Not a non negative integer.", stringArgumentCaptor3.getValue());
+    }
+
+
+    @Test
+    public void validateRoomsOccupiedNonNumberTest() {
+        censusCommand.setRoomsOccupied("z");
+        validator.validate(censusCommand, bindingResultMock);
+        verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
+        assertEquals("roomsOccupied", stringArgumentCaptor.getValue());
+        assertEquals("", stringArgumentCaptor2.getValue());
+        assertNull(objectArgumentCaptor.getValue());
+        assertEquals("Not a non negative integer.", stringArgumentCaptor3.getValue());
+    }
+
+    @Test
+    public void validateRoomsOccupiedValidNumberTest() {
+        censusCommand.setRoomsOccupied("5");
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+
+    @Test
+    public void validateRoomsOccupiedNullTest() {
+        censusCommand.setRoomsOccupied(null);
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+
+    @Test
+    public void validateRoomsOccupiedZeroTest() {
+        censusCommand.setRoomsOccupied("0");
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+}

+ 0 - 4
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandNumericValidatorRoomsWithWindowsTest.java

@@ -68,7 +68,6 @@ public class CensusCommandNumericValidatorRoomsWithWindowsTest {
 
     @Test
     public void validateRoomsWithWindowsNonNumberTest() {
-        censusCommand.setInhabitedRooms("1");
         censusCommand.setRoomsWithWindows("z");
         validator.validate(censusCommand, bindingResultMock);
         verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
@@ -80,7 +79,6 @@ public class CensusCommandNumericValidatorRoomsWithWindowsTest {
 
     @Test
     public void validateRoomsWithWindowsValidNumberTest() {
-        censusCommand.setInhabitedRooms("3");
         censusCommand.setRoomsWithWindows("5");
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);
@@ -88,7 +86,6 @@ public class CensusCommandNumericValidatorRoomsWithWindowsTest {
 
     @Test
     public void validateRoomsWithWindowsNullTest() {
-        censusCommand.setInhabitedRooms("3");
         censusCommand.setRoomsWithWindows(null);
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);
@@ -96,7 +93,6 @@ public class CensusCommandNumericValidatorRoomsWithWindowsTest {
 
     @Test
     public void validateRoomsWithWindowsZeroTest() {
-        censusCommand.setInhabitedRooms("3");
         censusCommand.setRoomsWithWindows("0");
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);

+ 0 - 5
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandNumericValidatorTotalRoomsTest.java

@@ -55,7 +55,6 @@ public class CensusCommandNumericValidatorTotalRoomsTest {
 
     @Test
     public void validateTotalRoomsNegativeTest() {
-        censusCommand.setTotalRooms("1");
         censusCommand.setTotalRooms("-5");
         validator.validate(censusCommand, bindingResultMock);
         verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
@@ -68,7 +67,6 @@ public class CensusCommandNumericValidatorTotalRoomsTest {
 
     @Test
     public void validateTotalRoomsNonNumberTest() {
-        censusCommand.setTotalRooms("1");
         censusCommand.setTotalRooms("z");
         validator.validate(censusCommand, bindingResultMock);
         verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
@@ -80,7 +78,6 @@ public class CensusCommandNumericValidatorTotalRoomsTest {
 
     @Test
     public void validateTotalRoomsValidNumberTest() {
-        censusCommand.setTotalRooms("3");
         censusCommand.setTotalRooms("5");
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);
@@ -88,7 +85,6 @@ public class CensusCommandNumericValidatorTotalRoomsTest {
 
     @Test
     public void validateTotalRoomsNullTest() {
-        censusCommand.setTotalRooms("3");
         censusCommand.setTotalRooms(null);
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);
@@ -96,7 +92,6 @@ public class CensusCommandNumericValidatorTotalRoomsTest {
 
     @Test
     public void validateTotalRoomsZeroTest() {
-        censusCommand.setTotalRooms("3");
         censusCommand.setTotalRooms("0");
         validator.validate(censusCommand, bindingResultMock);
         verifyNoInteractions(bindingResultMock);

+ 99 - 0
src/test/java/scot/carricksoftware/grants/validators/census/census/CensusCommandNumericValidatorUninhabitedHousesTest.java

@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grants.validators.census.census;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.validation.BindingResult;
+import scot.carricksoftware.grants.commands.census.CensusCommand;
+import scot.carricksoftware.grants.commands.census.CensusCommandImpl;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+import static scot.carricksoftware.grants.GenerateCensusRandomEnums.GetRandomCensusBoundaryType;
+import static scot.carricksoftware.grants.GenerateCensusRandomEnums.GetRandomCensusDate;
+import static scot.carricksoftware.grants.GenerateRandomPlaceValues.GetRandomPlace;
+
+@ExtendWith(MockitoExtension.class)
+public class CensusCommandNumericValidatorUninhabitedHousesTest {
+
+    private CensusCommandValidatorNumeric validator;
+
+    private ArgumentCaptor<String> stringArgumentCaptor;
+    private ArgumentCaptor<String> stringArgumentCaptor2;
+    private ArgumentCaptor<String> stringArgumentCaptor3;
+    private ArgumentCaptor<Object[]> objectArgumentCaptor;
+
+    private CensusCommand censusCommand;
+
+    @Mock
+    BindingResult bindingResultMock;
+
+    @BeforeEach
+    void setUp() {
+        validator = new CensusCommandValidatorNumericImpl();
+        stringArgumentCaptor = ArgumentCaptor.forClass(String.class);
+        stringArgumentCaptor2 = ArgumentCaptor.forClass(String.class);
+        stringArgumentCaptor3 = ArgumentCaptor.forClass(String.class);
+        objectArgumentCaptor = ArgumentCaptor.forClass(Object[].class);
+
+        censusCommand = new CensusCommandImpl();
+        censusCommand.setPlace(GetRandomPlace());
+        censusCommand.setCensusDate(GetRandomCensusDate());
+        censusCommand.setBoundaryType(GetRandomCensusBoundaryType());
+    }
+
+    @Test
+    public void validateUninhabitedHousesNegativeTest() {
+        censusCommand.setUninhabitedHouses("-5");
+        validator.validate(censusCommand, bindingResultMock);
+        verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
+        assertEquals("uninhabitedHouses", stringArgumentCaptor.getValue());
+        assertEquals("", stringArgumentCaptor2.getValue());
+        assertNull(objectArgumentCaptor.getValue());
+        assertEquals("Not a non negative integer.", stringArgumentCaptor3.getValue());
+    }
+
+
+    @Test
+    public void validateUninhabitedHousesNonNumberTest() {
+        censusCommand.setUninhabitedHouses("z");
+        validator.validate(censusCommand, bindingResultMock);
+        verify(bindingResultMock, atLeast(1)).rejectValue(stringArgumentCaptor.capture(), stringArgumentCaptor2.capture(), objectArgumentCaptor.capture(), stringArgumentCaptor3.capture());
+        assertEquals("uninhabitedHouses", stringArgumentCaptor.getValue());
+        assertEquals("", stringArgumentCaptor2.getValue());
+        assertNull(objectArgumentCaptor.getValue());
+        assertEquals("Not a non negative integer.", stringArgumentCaptor3.getValue());
+    }
+
+    @Test
+    public void validateUninhabitedHousesValidNumberTest() {
+        censusCommand.setUninhabitedHouses("5");
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+
+    @Test
+    public void validateUninhabitedHousesNullTest() {
+        censusCommand.setUninhabitedHouses(null);
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+
+    @Test
+    public void validateUninhabitedHousesZeroTest() {
+        censusCommand.setUninhabitedHouses("0");
+        validator.validate(censusCommand, bindingResultMock);
+        verifyNoInteractions(bindingResultMock);
+    }
+}