### Question:
Total implements Serializable { public Total add(final BigDecimal... value) { this.value = BigDecimalUtil.add(this.value, value); if (value != null) { count += value.length; } return this; } Total();  Total(final BigDecimal start);  Total(final BigDecimal start, final int scale);  Total(final Total start); BigDecimal getTotal(); Total setTotal(final BigDecimal total); Total addIfTrue(final boolean condition, final BigDecimal... values); Total add(final BigDecimal... value); Total subtractIfTrue(final boolean condition, final BigDecimal... values); Total subtract(final BigDecimal... value); Total add(final Integer value); Total add(final Total value); Total minus(final BigDecimal... value); Total minus(final Total value); @Override String toString(); boolean isZero(); boolean isNotZero(); boolean isNegative(); boolean isZeroOrLess(); int getCount();  }### Answer:
@Test public void testAdd() { final Total sum = new Total(); sum.add((BigDecimal[]) null); BigDecimalAssert.assertSameValue("add null", BigDecimal.ZERO, sum.getTotal()); sum.add(BigDecimal.ZERO); BigDecimalAssert.assertSameValue("add 0", BigDecimal.ZERO, sum.getTotal()); sum.add(BigDecimal.ONE).add(BigDecimal.ONE); BigDecimalAssert.assertSameValue("add 1 + 1", new BigDecimal("2"), sum.getTotal()); sum.add(BigDecimal.ONE.negate()); BigDecimalAssert.assertSameValue("add -1", new BigDecimal("1"), sum.getTotal()); sum.add(BigDecimal.TEN.negate()); BigDecimalAssert.assertSameValue("add -10", new BigDecimal("-9"), sum.getTotal()); sum.add(BigDecimal.ONE, BigDecimal.ONE, null, BigDecimal.TEN); BigDecimalAssert.assertSameValue("add 1 1 null 10", new BigDecimal("3"), sum.getTotal()); }