public async Task GetSummaryTradeByProfileIdAndSymbol_ReturnTradeSummaryByPortfolio() { IQueryable <Trade> trades = new List <Trade> { new Trade { Action = "BUY", NoOfShares = 10, PortfolioId = 1, Symbol = "SIM", Price = 10.00M }, new Trade { Action = "SELL", NoOfShares = 3, PortfolioId = 1, Symbol = "SIM", Price = 12.00M }, new Trade { Action = "BUY", NoOfShares = 30, PortfolioId = 1, Symbol = "SIM", Price = 8.00M }, new Trade { Action = "SELL", NoOfShares = 30, PortfolioId = 2, Symbol = "SIM", Price = 8.00M } }.AsQueryable(); // Arrange _dbSetTrade.As <IQueryable <Trade> >().Setup(m => m.Provider).Returns(trades.Provider); _dbSetTrade.As <IQueryable <Trade> >().Setup(m => m.Expression).Returns(trades.Expression); _dbSetTrade.As <IQueryable <Trade> >().Setup(m => m.ElementType).Returns(trades.ElementType); _dbSetTrade.As <IQueryable <Trade> >().Setup(m => m.GetEnumerator()).Returns(trades.GetEnumerator()); _exchangeContext.Setup(p => p.Trades).Returns(_dbSetTrade.Object); // Act IQueryable <TradeSummary> tradeSummary = _tradeRepository.GetSummaryTradeByProfileIdAndSymbol(1, "SIM"); // Assert Assert.NotNull(tradeSummary); Assert.AreEqual(tradeSummary.Count(), 2); Assert.IsTrue(tradeSummary.Any(p => p.Action.Equals("BUY"))); Assert.IsTrue(tradeSummary.Any(p => p.Action.Equals("SELL"))); }