@SuppressWarnings("boxing") public void testMajorToMinor() { double majorPx = 25.12; ClientNewOrderSingleImpl nos = FixTestUtils.getClientNOS(_decoder, "TST0000001", 100, majorPx, _upMsgHandler); nos.setCurrency(Currency.GBP); ((InstrumentWrite) nos.getInstrument()).setCurrency(Currency.GBp); _proc.handle(nos); MarketNewOrderSingleImpl mnos = (MarketNewOrderSingleImpl) getMessage(_downQ, MarketNewOrderSingleImpl.class); // MARKET IS IN POUNDS assertSame(Currency.GBp, mnos.getCurrency()); assertEquals((majorPx * 100.0), mnos.getPrice(), Constants.PRICE_DP); Order order = _proc.getOrder(nos.getClOrdId()); NewOrderAck mack = FixTestUtils.getMarketACK(_decoder, "TST0000001", 100, 25.12, _mktOrderId, _execId); _proc.handle(mack); checkQueueSize(1, 0, 0); ClientNewOrderAckImpl cack = (ClientNewOrderAckImpl) getMessage(_upQ, ClientNewOrderAckImpl.class); assertSame(Currency.GBP, cack.getCurrency()); assertEquals(majorPx, cack.getPrice(), Constants.WEIGHT); ClientProfile client = order.getClientProfile(); double totVal = nos.getPrice() * nos.getOrderQty() * nos.getCurrency().toUSDFactor(); assertEquals(totVal, client.getTotalOrderValueUSD()); }