### Question:
IntegerUtil { public static Integer safeAdd(final Integer v1, final Integer v2) { Integer total = v1; if (v1 != null && v2 != null) { total = v1 + v2; } else if (v2 != null) { total = v2; } return total; } private  IntegerUtil(); static boolean isNotZero(final Integer value); static boolean isZero(final Integer value); static boolean isNullOrZero(final Integer value); static boolean isSameValue(final Integer val1, final Integer val2); static boolean isNotSameValue(final Integer val1, final Integer val2); static Integer safeAdd(final Integer v1, final Integer v2); static int safeSignum(final Integer v); static int safeCompare(final Integer id, final Integer id2); static Integer assign(final Integer value, final Integer defaultValueIfNull); static boolean isNotZeroOrNegative(final Integer id);  }### Answer:
@Test public void testSafeAdd() { assertThat(safeAdd(null, null)).isEqualTo(null); assertThat(safeAdd(0, null)).isEqualTo(0); assertThat(safeAdd(0, 1)).isEqualTo(1); assertThat(safeAdd(1, null)).isEqualTo(1); assertThat(safeAdd(1, 2)).isEqualTo(3); assertThat(safeAdd(null, 2)).isEqualTo(2); }