### Question:
DayImpression implements Serializable { public static DayImpression add(DayImpression d1, DayImpression d2) { DayImpression d3 = new DayImpression(); d3.hours = new ArrayList<>(); for (int i = 0; i < 24; i++) { Impression i1 = d1.hours.get(i); Impression i2 = d2.hours.get(i); Impression i3 = Impression.add(i1, i2); d3.hours.add(i3); } LOGGER.debug("dayImpression after add:{}", d3.toString()); return d3; } DayImpression(String date, List<Impression> hours);  DayImpression();  DayImpression(Double[] dayCounts);  DayImpression(Object hoursMap); String getDate(); void setDate(String date); List<Impression> getHours(); void setHours(List<Impression> hours); void initAggregate(double[] aggregatedHCounts); long countImpressions(double price, TargetingChannel.PriceModel priceModel); static DayImpression add(DayImpression d1, DayImpression d2); static DayImpression buildEmptyDayImpression(String date); static DayImpression subtract(DayImpression d1, DayImpression d2); static DayImpression multiply(DayImpression d1, double r); @Override String toString();  }### Answer:
@Test public void add() { Double[] dayCnt = new Double[]{1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8}; DayImpression di = new DayImpression(dayCnt); Double[] dayCnt2 = new Double[]{20.5, 20.6, 20.7, 20.8}; DayImpression di2 = new DayImpression(dayCnt2); DayImpression res = DayImpression.add(di, di2); Double[] expCnt = new Double[]{21.6, 22.8, 24.0, 25.2}; DayImpression exp = new DayImpression(expCnt); assertEquals(exp.toString(), res.toString()); }