public async Task GetTestsAsync_ReturnsTheListOfAllTests() { // Arrange mock.Setup(m => m.GetTestsAsync()) .Returns(Task.Run(() => GetSampleTests())); var sampleBusiness = new SampleBusiness(mock.Object); var expected = GetSampleTests().Select(t => t.Title); // Act var actual = await sampleBusiness.GetTestsAsync(); // Assert Assert.IsNotNull(actual); Assert.AreEqual(expected.Count(), actual.Count()); for (int i = 0; i < expected.Count(); i++) { Assert.AreEqual(expected.ElementAt(i), actual.ElementAt(i)); } }