public void AccountPositionModificationUpdatesPM() { var accountPositionService = new MockAccountPositionService(); var marketFeedService = new MockMarketFeedService(); marketFeedService.SetPrice("FUND0", 20.00m); accountPositionService.AddPosition("FUND0", 150.00m, 100); ObservablePosition position = new ObservablePosition(accountPositionService, marketFeedService, CreateEventAggregator()); bool itemUpdated = false; position.Items.First(p => p.TickerSymbol == "FUND0").PropertyChanged += delegate { itemUpdated = true; }; AccountPosition accountPosition = accountPositionService.GetAccountPositions().First <AccountPosition>(p => p.TickerSymbol == "FUND0"); accountPosition.Shares += 11; accountPosition.CostBasis = 25.00m; Assert.IsTrue(itemUpdated); Assert.AreEqual(111, position.Items.First(p => p.TickerSymbol == "FUND0").Shares); Assert.AreEqual(25.00m, position.Items.First(p => p.TickerSymbol == "FUND0").CostBasis); }
public void AccountPositionModificationUpdatesPM() { eventAggregator.AddMapping<MarketPricesUpdatedEvent>(new MockMarketPricesUpdatedEvent()); marketFeedService.SetPrice("FUND0", 20.00m); accountPositionService.AddPosition("FUND0", 150.00m, 100); var presentationModel = CreatePresentationModel(); bool presentationModelItemUpdated = false; presentationModel.PositionSummaryItems.First(p => p.TickerSymbol == "FUND0").PropertyChanged += delegate { presentationModelItemUpdated = true; }; AccountPosition accountPosition = accountPositionService.GetAccountPositions().First<AccountPosition>(p => p.TickerSymbol == "FUND0"); accountPosition.Shares += 11; accountPosition.CostBasis = 25.00m; Assert.IsTrue(presentationModelItemUpdated); Assert.AreEqual(111, presentationModel.PositionSummaryItems.First(p => p.TickerSymbol == "FUND0").Shares); Assert.AreEqual(25.00m, presentationModel.PositionSummaryItems.First(p => p.TickerSymbol == "FUND0").CostBasis); }