public void testPlaceBuyOrder() throws Exception {
DomainEventPublisher.instance().subscribe(new DomainEventSubscriber<BuyOrderPlaced>() {
@Override
public void handleEvent(BuyOrderPlaced aDomainEvent) {
buyOrderPlaced = aDomainEvent;
}
@Override
public Class<BuyOrderPlaced> subscribedToEventType() {
return BuyOrderPlaced.class;
}
});
BuyOrder buyOrder = this.buyOrderFixture();
assertNotNull(buyOrderPlaced);
assertEquals(new Money("9.99"), buyOrderPlaced.orderFee());
assertEquals(NUMBER_OF_SHARES, buyOrderPlaced.quantityOfSharesOrdered());
assertEquals(PRICE, buyOrderPlaced.quote().price());
assertEquals(TICKER, buyOrderPlaced.quote().tickerSymbol().symbol());
assertEquals(PRICE.multipliedBy(NUMBER_OF_SHARES), buyOrder.valueOfOrderedShares());
assertEquals(buyOrder.accountId(), buyOrderPlaced.accountId());
assertEquals(buyOrder.orderId(), buyOrderPlaced.orderId());
assertEquals(buyOrder.quantityOfSharesOrdered(), buyOrderPlaced.quantityOfSharesOrdered());
assertEquals(buyOrder.quote(), buyOrderPlaced.quote());
}