public class SumMinMaxArgs { private int[] array; // You will need to write the following: // // 1. A constructor that takes a reference to an array, // and initializes an instance variable with this // array reference // // 2. An instance method named sum, which will calculate // the sum of the elements in the array. If the array // is empty (contains no elements), then this will // will return 0. You will need a loop for this. // // 3. An instance method named min, which will return // whichever element in the array is smallest. // You can assume that min will only be called if the // array is non-empty (contains at least one element). // You will need a loop for this. You may use the // Math.min method here (see link below for more) // https://www.tutorialspoint.com/java/lang/math_min_int.htm // // 4. An instance method named max, which will return // whichever element in the array is largest. // You can assume that max will only be called if the // array is non-empty (contains at least one element). // You will need a loop for this. You may use the // Math.max method here (see link below for more) // https://www.tutorialspoint.com/java/lang/math_min_int.htm // // TODO - write your code below // DO NOT MODIFY parseStrings! public static int[] parseStrings(String[] strings) { int[] retval = new int[strings.length]; for (int x = 0; x < strings.length; x++) { retval[x] = Integer.parseInt(strings[x]); } return retval; } // DO NOT MODIFY main! public static void main(String[] args) { int[] argsAsInts = parseStrings(args); SumMinMaxArgs obj = new SumMinMaxArgs(argsAsInts); System.out.println(\"Sum: \" + obj.sum()); System.out.println(\"Min: \" + obj.min()); System.out.println(\"Max: \" + obj.max()); }}
Sum: 15Min: 1Max: 5
import static org.junit.Assert.assertEquals;import static org.junit.Assert.assertArrayEquals;import org.junit.Test;public class SumMinMaxArgsTest { @Test public void testParseStringsLength0() { assertArrayEquals(SumMinMaxArgs.parseStrings(new String[0]), new int[0]); } @Test public void testParseStringsLength1() { assertArrayEquals(SumMinMaxArgs.parseStrings(new String[]{\"1\"}), new int[]{1}); } @Test public void testParseStringsLength2() { assertArrayEquals(SumMinMaxArgs.parseStrings(new String[]{\"1\", \"42\"}), new int[]{1, 42}); } @Test public void testSumArrayLength0() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[0]); assertEquals(0, obj.sum()); } @Test public void testSumArrayLength1() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1}); assertEquals(1, obj.sum()); } @Test public void testSumArrayLength2() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1, 2}); assertEquals(3, obj.sum()); } @Test public void testSumArrayLength3() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1, 2, 3}); assertEquals(6, obj.sum()); } @Test public void testSumArrayLength4() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1, 2, 3, 4}); assertEquals(10, obj.sum()); } @Test public void testMinArrayLength1() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1}); assertEquals(1, obj.min()); } @Test public void testMinArrayLength2MinFirst() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1, 2}); assertEquals(1, obj.min()); } @Test public void testMinArrayLength2MinSecond() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{2, 1}); assertEquals(1, obj.min()); } @Test public void testMinArrayLength3MinFirst() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1, 2, 3}); assertEquals(1, obj.min()); } @Test public void testMinArrayLength3MinSecond() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{2, 1, 3}); assertEquals(1, obj.min()); } @Test public void testMinArrayLength3MinThird() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{3, 2, 1}); assertEquals(1, obj.min()); } @Test public void testMaxArrayLength1() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1}); assertEquals(1, obj.max()); } @Test public void testMaxArrayLength2MaxFirst() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{2, 1}); assertEquals(2, obj.max()); } @Test public void testMaxArrayLength2MaxSecond() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{1, 2}); assertEquals(2, obj.max()); } @Test public void testMaxArrayLength3MaxFirst() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{3, 2, 1}); assertEquals(3, obj.max()); } @Test public void testMinArrayLength3MaxSecond() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{2, 3, 1}); assertEquals(3, obj.max()); } @Test public void testMaxArrayLength3MaxThird() { SumMinMaxArgs obj = new SumMinMaxArgs(new int[]{2, 1, 3}); assertEquals(3, obj.max()); }} // SumMinMaxArgsTest