### Question:
OrderCostCalculationServiceImpl implements OrderCostCalculationService { @Override public MonetaryAmount calculateCost(Order order) { return order.getOrderItems().stream() .map(OrderCostCalculationServiceImpl::calculateOrderItemCost) .reduce(ZERO, MonetaryAmount::add); }  @Override MonetaryAmount calculateCost(Order order);  }### Answer:
@Test public void shouldCalculateCost() throws Exception { OrderCostCalculationServiceImpl orderCostCalculationService = new OrderCostCalculationServiceImpl(); Order order = createOrder(); MonetaryAmount result = orderCostCalculationService.calculateCost(order); Assertions.assertThat(result).isEqualTo(fromDouble(99)); }