예제 #1
0
        public void AvgCalculator_NotEnoughSharesByDate()
        {
            //Arrange
            var shares        = new SharesInventory();
            var avgCalculator = new AvgCalculator();

            //Act
            shares.Purchase(SharesSample[0]);
            shares.Purchase(SharesSample[1]);
            shares.Purchase(SharesSample[2]);
            var result = shares.Sell(120, 10.5, new DateTime(2005, 1, 1), avgCalculator);

            //Assert
        }
예제 #2
0
        public void AvgCalculator_Sample()
        {
            //Arrange
            var shares        = new SharesInventory();
            var avgCalculator = new AvgCalculator();

            //Act
            shares.Purchase(SharesSample[0]);
            shares.Purchase(SharesSample[1]);
            shares.Purchase(SharesSample[2]);
            var result = shares.Sell(120, 10.5, new DateTime(2005, 3, 2), avgCalculator);

            //Assert
            Assert.AreEqual(11, result.CostPriceSoldShares, 0.001);
            Assert.AreEqual(-60, result.GainLossOnSale);
            Assert.AreEqual(70, result.RemainingShares);
            Assert.AreEqual(11.5, result.CostPriceRemaining, 0.001);
        }