public async Task Loading_twice_should_return_different_portfolios() { IPortfolioStore portfolioStore = CreatePortfolioStore(); Portfolio loadedPortfolio1 = await portfolioStore.Load(); Portfolio loadedPortfolio2 = await portfolioStore.Load(); loadedPortfolio1.Should().NotBeSameAs(loadedPortfolio2); await portfolioStore.Save(null); }
public async Task Loading_without_saving_should_return_portfolios_with_the_same_assets() { IPortfolioStore portfolioStore = CreatePortfolioStore(); var savedPortfolio = new Portfolio(); savedPortfolio.AddAsset(new Asset(new Symbol("MSFT"), 100)); await portfolioStore.Save(savedPortfolio); Portfolio loadedPortfolio1 = await portfolioStore.Load(); Portfolio loadedPortfolio2 = await portfolioStore.Load(); loadedPortfolio1.Assets.Should().BeEquivalentTo(loadedPortfolio2.Assets); await portfolioStore.Save(null); }
public void Loading_error_should_throw_PortfolioStoreLoadException() { IPortfolioStore portfolioStore = CreatePortfolioStoreWithLoadError(); Func <Task <Portfolio> > action = async() => await portfolioStore.Load(); action.Should().Throw <PortfolioStoreLoadException>(); }
public async Task Load() { Portfolio = await _portfolioStore.Load(); }