This is the JUnit 5 solution to cover all kinds of inputs provided to find the first and second biggest numbers from an array of integers. This Unit test executes tests for the ‘ParseAnArrayInput’ function available in the class ‘FirstAndSecongdBiggestNumsInAnArrayJ8’.
package pack1;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
class JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8 {
FirstandSecondBigNums_without_Sort FSBNWS;
FirstandSecondBigNums_Using_Sort FSBNUS;
FirstandSecondBigNums_Using_Streams FSBNUST;
FirstandSecondBigNums_Using_Collections FSBNUC;
@BeforeEach
void setUp() throws Exception {
FSBNWS = new FirstandSecondBigNums_without_Sort();
FSBNUS = new FirstandSecondBigNums_Using_Sort();
FSBNUST = new FirstandSecondBigNums_Using_Streams();
FSBNUC = new FirstandSecondBigNums_Using_Collections();
}
@Test
@DisplayName("Positive inputs - Exp value and Actual matches")
void test1() {
int[] intArr = { 14, 20, 11, 5, 29, 17, 58 };
Assertions.assertEquals("58#29",FSBNWS.ParseAnArrayInput(intArr));
Assertions.assertEquals("729#520",FSBNUS.ParseAnArrayInput(new int[] { 214, 520, 115, 35, 729, 317, 158 }));
Assertions.assertEquals("135#79",FSBNUST.ParseAnArrayInput(new int[] { 24, 50, 15, 135, 79, 37, 18 }));
Assertions.assertEquals("505#373",FSBNUC.ParseAnArrayInput(new int[] { 241, 505, 157, 13, 79, 373, 189 }));
}
@Test
@DisplayName("Negative inputs - Exp value and Actual does not matches")
void test2() {
int[] intArr = { 14, 20, 11, 5, 17, 58 };
Assertions.assertNotEquals("58#29",FSBNWS.ParseAnArrayInput(intArr));
Assertions.assertNotEquals("729#520",FSBNUS.ParseAnArrayInput(new int[] { 115, 35, 729, 317, 158 }));
Assertions.assertNotEquals("135#79",FSBNUST.ParseAnArrayInput(new int[] { 24, 50, 15, 37, 18 }));
Assertions.assertNotEquals("505#373",FSBNUC.ParseAnArrayInput(new int[] { 241, 13, 79, 373, 189 }));
}
@Test
@DisplayName("Empty Array inputs")
void test3() {
Assertions.assertEquals("None#None",FSBNWS.ParseAnArrayInput(new int[] {}));
Assertions.assertEquals("None#None",FSBNUS.ParseAnArrayInput(new int[] {}));
Assertions.assertEquals("None#None",FSBNUST.ParseAnArrayInput(new int[] {}));
Assertions.assertEquals("None#None",FSBNUC.ParseAnArrayInput(new int[] {}));
}
@Test
@DisplayName("Null Array inputs")
void test4() {
Assertions.assertEquals("None#None",FSBNWS.ParseAnArrayInput(null));
Assertions.assertEquals("None#None",FSBNUS.ParseAnArrayInput(null));
Assertions.assertEquals("None#None",FSBNUST.ParseAnArrayInput(null));
Assertions.assertEquals("None#None",FSBNUC.ParseAnArrayInput(null));
}
}
Output:
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_without_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_without_Sort'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 14 20 11 5 29 17 58 ]
First Biggest = 58
Second Biggest = 29
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Sort'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 214 520 115 35 729 317 158 ]
First Biggest = 729
Second Biggest = 520
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Streams ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Streams'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 24 50 15 135 79 37 18 ]
First Biggest = 135
Second Biggest = 79
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Collections ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Collections'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 241 505 157 13 79 373 189 ]
First Biggest = 505
Second Biggest = 373
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_without_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_without_Sort'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 14 20 11 5 17 58 ]
First Biggest = 58
Second Biggest = 20
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Sort'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 115 35 729 317 158 ]
First Biggest = 729
Second Biggest = 317
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Streams ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Streams'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 24 50 15 37 18 ]
First Biggest = 50
Second Biggest = 37
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Collections ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Collections'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: The provided Input validated Successfully
The given input Array values are
[ 241 13 79 373 189 ]
First Biggest = 373
Second Biggest = 241
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_without_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_without_Sort'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_without_Sort ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Sort'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Sort ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Streams ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Streams'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Streams ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Collections ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Collections'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Collections ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_without_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_without_Sort'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_without_Sort ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Sort ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Sort'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Sort ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Streams ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Streams'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Streams ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Collections ParseAnArrayInput
INFO: This method 'ParseAnArrayInput' called from the Class 'pack1.JUnitTestFirstAndSecongdBiggestNumsInAnArrayJ8'
Mar 24, 2023 9:50:01 PM pack1.ArrayNumsInput validateInputs
INFO: This method 'validateInputs()' called from the Class 'pack1.FirstandSecondBigNums_Using_Collections'
Mar 24, 2023 9:50:01 PM pack1.FirstandSecondBigNums_Using_Collections ParseAnArrayInput
INFO: The given Input Array is null
First Biggest = None
Second Biggest = None


Leave a comment