コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
ファイル: PositionGrid.xaml.cs プロジェクト: eslahi/prism
 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));
         }
     }
 }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }