public async Task GetTickers_Success() { var repository = StockRepositoryFactory.Create(); var stocks = new List <Stock> { new Stock() { Id = "TICKER1", LastLoadDate = DateTime.Today, MaxDate = DateTime.Today, MinDate = DateTime.Today.AddYears(-10) }, new Stock() { Id = "TICKER2", LastLoadDate = DateTime.Today.AddDays(-1), MaxDate = DateTime.Today.AddDays(-1), MinDate = DateTime.Today.AddYears(-10).AddDays(-1) } }; var mockDataset = MockDataSet.Get(stocks); repository.MockDbContext.Setup(c => c.Stocks).Returns(mockDataset.Object); var result = (await repository.GetTickersAsync()).ToList(); Assert.AreEqual(result.Count, stocks.Count); Assert.IsTrue(result.Any(s => s == stocks.ElementAt(0).Id)); Assert.IsTrue(result.Any(s => s == stocks.ElementAt(1).Id)); }
public async Task Compact_Success_InitialLoad() { var mockDbContext = new Mock <AnalyzerDbContext>(); var mockStockQuoteDataSet = MockDataSet.Get(new List <StockQuote>()); mockDbContext.Setup(s => s.StockQuotes).Returns(mockStockQuoteDataSet.Object); var mockStockDataSet = MockDataSet.Get(new List <Stock>()); mockStockDataSet.Setup(s => s.Add(It.IsAny <Stock>())).Returns((Stock s) => s); mockDbContext.Setup(s => s.Stocks).Returns(mockStockDataSet.Object); var stockLoader = new StockLoaderTestFixture(); var processor = new StockProcessorTestFixture(mockDbContext, stockLoader) { IsMarketClosedValue = true }; var stockQuoteDataFixture = new StockQuoteDataFixture(); var ticker = "goog"; var numberofQuotes = 10; stockQuoteDataFixture.Create(numberofQuotes, ticker); stockLoader.Quotes = stockQuoteDataFixture.Entities.Where(s => s.Ticker == ticker).ToList(); var result = await processor.LoadCompactAsync(ticker); mockStockQuoteDataSet.Verify(s => s.Add(It.IsAny <StockQuote>()), Times.Exactly(stockLoader.Quotes.Count())); mockStockDataSet.Verify(s => s.Add(It.IsAny <Stock>()), Times.Once); mockDbContext.Verify(s => s.SaveChangesAsync(), Times.Once); Assert.IsTrue(result.Succeeded); }
public async Task GetTickers_Success_NoStocks() { var repository = StockRepositoryFactory.Create(); var stocks = new List <Stock>(); var mockDataset = MockDataSet.Get(stocks); repository.MockDbContext.Setup(c => c.Stocks).Returns(mockDataset.Object); var result = await repository.GetTickersAsync(); Assert.AreEqual(result.Count(), stocks.Count); }