Пример #1
0
        public void PortfolioNotFound()
        {
            var service = new PortfolioCapitalGainsService(null);

            var result = service.GetCapitalGains(new Date(2000, 01, 01));

            result.Should().HaveNotFoundStatus();
        }
Пример #2
0
        public void GetCapitalGainsStockNotFound()
        {
            var portfolio = PortfolioTestCreator.CreateDefaultPortfolio();

            var service = new PortfolioCapitalGainsService(portfolio);

            var result = service.GetCapitalGains(Guid.NewGuid(), new Date(2010, 01, 01));

            result.Should().HaveNotFoundStatus();
        }
Пример #3
0
        public void GetCapitalGainsStockNotOwnedAtDate()
        {
            var portfolio = PortfolioTestCreator.CreateDefaultPortfolio();

            var service = new PortfolioCapitalGainsService(portfolio);

            var result = service.GetCapitalGains(PortfolioTestCreator.Stock_ARG.Id, new Date(1999, 01, 01));

            result.Result.UnrealisedGains.Should().BeEmpty();
        }
Пример #4
0
        public void GetCapitalGainsStockOwnedAtDate()
        {
            var portfolio = PortfolioTestCreator.CreateDefaultPortfolio();

            var service = new PortfolioCapitalGainsService(portfolio);

            var result = service.GetCapitalGains(PortfolioTestCreator.Stock_ARG.Id, new Date(2010, 01, 01));

            result.Result.Should().BeEquivalentTo(new
            {
                UnrealisedGains = new[]
                {
                    new RestApi.Portfolios.SimpleUnrealisedGainsItem()
                    {
                        Stock          = PortfolioTestCreator.Stock_ARG,
                        AquisitionDate = new Date(2000, 01, 01),
                        Units          = 50,
                        CostBase       = 59.97m,
                        MarketValue    = 100m,
                        CapitalGain    = 40.03m,
                        DiscoutedGain  = 20.02m,
                        DiscountMethod = RestApi.Portfolios.CgtMethod.Discount
                    },
                    new RestApi.Portfolios.SimpleUnrealisedGainsItem()
                    {
                        Stock          = PortfolioTestCreator.Stock_ARG,
                        AquisitionDate = new Date(2003, 01, 01),
                        Units          = 100,
                        CostBase       = 119.95m,
                        MarketValue    = 200m,
                        CapitalGain    = 80.05m,
                        DiscoutedGain  = 40.03m,
                        DiscountMethod = RestApi.Portfolios.CgtMethod.Discount
                    },
                    new RestApi.Portfolios.SimpleUnrealisedGainsItem()
                    {
                        Stock          = PortfolioTestCreator.Stock_ARG,
                        AquisitionDate = new Date(2005, 01, 01),
                        Units          = 100,
                        CostBase       = 119.95m,
                        MarketValue    = 200m,
                        CapitalGain    = 80.05m,
                        DiscoutedGain  = 40.03m,
                        DiscountMethod = RestApi.Portfolios.CgtMethod.Discount
                    }
                }
            });
        }