public void GetRates_ReturnsActionResult_WithAListOfSymbols() { // Arrange var symbol = "BTC"; var convertTo = new string[] { "USD", "GBP" }; var symbolRates = new List <SymbolRate> { new SymbolRate { Name = "USD", PriceDetail = new PriceDetail { Price = 1, LastUpdated = DateTime.Now } }, new SymbolRate { Name = "GBP", PriceDetail = new PriceDetail { Price = 2, LastUpdated = DateTime.Now } }, }; _mockCryptoLogic .Setup(repo => repo.GetQuotes(It.IsAny <string>(), It.IsAny <string>(), symbol, convertTo)) .Returns(symbolRates); // Act var result = _target.GetRates(symbol, convertTo); // Assert var viewResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <SymbolRate> >( viewResult.Value); Assert.Equal(symbolRates.Count(), model.Count()); }