Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }