@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());
  }