addr.setCustomerId(1);
addr.setStreet("Main Street");
addr.setNumber("23");
Order o = new Order("order3", new OrderMonetaryAmountImpl(b, "EUR"), addr);
o.positions = Arrays.asList(new OrderPosition(new OrderMonetaryAmountImpl(c, "EUR"),
new OrderMonetaryAmountImpl(d, "EUR"), addr));
int i = exampleSProcService.createOrder(o);
o = exampleSProcService.getOrders(i);
assertEquals(o.amount.getAmount().compareTo(b), 0);
assertEquals("EUR", o.amount.getCurrency());
assertNotNull(o.positions);
assertEquals(1, o.positions.size());
assertNotNull(o.address);
assertTrue(o.address.isPresent());
assertEquals(1, o.address.get().customerId);
assertEquals("Main Street", o.address.get().street);
assertEquals("23", o.address.get().number);
OrderPosition pos = o.positions.get(0);
assertEquals(c, pos.amount.getAmount());
assertEquals("EUR", pos.amount.getCurrency());
assertNotNull(pos.optionalAmount);
assertTrue(pos.optionalAmount.isPresent());