public void PortfolioNotFound() { var service = new PortfolioCapitalGainsService(null); var result = service.GetCapitalGains(new Date(2000, 01, 01)); result.Should().HaveNotFoundStatus(); }
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(); }
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(); }
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 } } }); }