}
@Test
public void testSaveAndFindOrder() {
Order order = orderDataOnDemand.getNewTransientOrder(100);
order.setOrdertype(TradingService.ORDER_TYPE_BUY);
order.setOpendate(new java.sql.Date(System.currentTimeMillis()));
order.setCompletiondate(new java.sql.Date(System.currentTimeMillis()));
tradingService.saveOrder(order);
entityManager.flush();
entityManager.clear(); // force reload
Order foundOrder = tradingService.findOrder(order.getOrderid(), order.getAccountAccountid().getAccountid());
assertNotNull(foundOrder);
BigDecimal oldPrice = foundOrder.getPrice();
foundOrder.setPrice(BigDecimal.valueOf(123.45));
tradingService.updateOrder(foundOrder);
entityManager.flush();
entityManager.clear(); // force reload
Order updatedOrder = tradingService.findOrder(order.getOrderid(), order.getAccountAccountid().getAccountid());
assertTrue(!order.toString().equals(updatedOrder.toString()));
order.setPrice(oldPrice);
tradingService.updateOrder(foundOrder);
entityManager.flush();
entityManager.clear(); // force reload
updatedOrder = tradingService.findOrder(order.getOrderid(), order.getAccountAccountid().getAccountid());
assertEquals(foundOrder.toString(), updatedOrder.toString());
}