### Question:
CombinationUtil { public static void add(int[] combination, int[] toBeAdded) { checkNotNullAndSameLength(combination, toBeAdded); for (int i = 0; i < toBeAdded.length; i++) { if (toBeAdded[i] != NO_VALUE) { combination[i] = toBeAdded[i]; } } } private  CombinationUtil(); static int[] emptyCombination(int size); static boolean contains(int[] firstCombination, int[] secondCombination); static boolean canBeAdded(int[] combination, int[] toBeAdded, ConstraintChecker constraintChecker); static void add(int[] combination, int[] toBeAdded); static boolean containsAllParameters(int[] combination, IntSet parameterIndices); static boolean containsAllParameters(int[] combination, int untilParameter); static boolean sameForAllGivenParameters(int[] first, int[] second, IntSet parameters); static int numberOfSetParameters(int[] combination); static final int NO_VALUE; }### Answer:
@Test void addMustBeSameSizeAndNotNull() { assertThrows(NullPointerException.class, () -> CombinationUtil.add(null, new int[0])); assertThrows(NullPointerException.class, () -> CombinationUtil.add(new int[0], null)); assertThrows(IllegalArgumentException.class, () -> CombinationUtil.add(new int[]{0}, new int[]{0, 1})); }