public void PositionSummaryCalculatesCurrentMarketValue() { decimal lastPrice = 52.99M; long numShares = 50; PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", 49.99M, numShares, lastPrice); Assert.AreEqual <decimal>(lastPrice * numShares, positionSummary.MarketValue); }
public void PositionSummaryCalculatesGainLossPercent() { decimal costBasis = 49.99M; decimal lastPrice = 52.99M; long numShares = 1000; PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", costBasis, numShares, lastPrice); Assert.AreEqual <decimal>(105901.2002M, Math.Round(positionSummary.GainLossPercent, 4)); }
private void _positionTable_SelectionChanged(object sender, SelectionChangedEventArgs e) { //TODO: Add Selected value binding to presentation model to remove code behind if (e.AddedItems.Count > 0) { PositionSummaryItem currentPosition = e.AddedItems[0] as PositionSummaryItem; if (currentPosition != null) { PositionSelected(this, new DataEventArgs <string>(currentPosition.TickerSymbol)); } } }
public void PositionSummaryStoresCollectionsOfMarketHistoryValues() { PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", 49.99M, 50, 52.99M); positionSummary.PriceMarketHistory.Add(new MarketHistoryItem { DateTimeMarker = new DateTime(1), Value = 1.00m }); positionSummary.PriceMarketHistory.Add(new MarketHistoryItem { DateTimeMarker = new DateTime(2), Value = 2.00m }); positionSummary.PriceMarketHistory.Add(new MarketHistoryItem { DateTimeMarker = new DateTime(3), Value = 30.00m }); Assert.AreEqual <int>(3, positionSummary.PriceMarketHistory.Count); }
public void ChangingSymbolPropertyChangeNotificationEvent() { PositionSummaryItem positionSummary = new PositionSummaryItem("AAAA", 49.99M, 50, 52.99M); bool propertyChanged = false; string lastPropertyChanged = string.Empty; positionSummary.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { propertyChanged = true; lastPropertyChanged = e.PropertyName; }; positionSummary.TickerSymbol = "XXXX"; Assert.IsTrue(propertyChanged); Assert.AreEqual <string>("TickerSymbol", lastPropertyChanged); }
public void ChangingSharesFiresPropertyChangeNotificationEvent() { PositionSummaryItem positionSummary = new PositionSummaryItem("FUND0", 49.99M, 50, 52.99M); bool sharesPropertyChanged = false; positionSummary.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "Shares") { sharesPropertyChanged = true; } }; positionSummary.Shares -= 5; Assert.IsTrue(sharesPropertyChanged); }
public void ChangingCurrentPriceFiresPropertyChangeNotificationEvent() { PositionSummaryItem positionSummary = new PositionSummaryItem("FUND0", 49.99M, 50, 52.99M); bool currentPriceChanged = false; positionSummary.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "CurrentPrice") { currentPriceChanged = true; } }; positionSummary.CurrentPrice -= 5; Assert.IsTrue(currentPriceChanged); }