public void GetTransactionsBetweenDatesTest() { IList <Transaction> transactions = new List <Transaction>(); for (int i = 0; i < 1; i++) { transactions.Add(new Transaction() { Portfolio = new Portfolio(), Stock = new Stock(), StockQuantity = 100, TotalValue = 500, TransactionDate = DateTimeOffset.Now.AddDays(-i) }); } //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(un => un.TransactionRepository.Get(null, null, It.IsAny <string>())).Returns(transactions); ITransactionLogic transactionLogic = new TransactionLogic(mockUnitOfWork.Object); DateTimeOffset now = DateTimeOffset.Now; DateTimeOffset thirtyDaysAgo = DateTimeOffset.Now.AddDays(-30); var response = transactionLogic.GetTransacions(thirtyDaysAgo, now); Assert.Equal(response, transactions.Where(t => t.TransactionDate > thirtyDaysAgo)); mockUnitOfWork.Verify(un => un.TransactionRepository.Get(null, null, It.IsAny <string>())); Assert.Equal(response.Count(), transactions.Where(t => t.TransactionDate > thirtyDaysAgo && t.TransactionDate < now).Count()); }