public async Task GetRandomUserGeneratorDataHolder_Valid() { int numUsers = 1; var randomUserRetriever = new Mock <IRandomUserRetriever>(MockBehavior.Strict); var userList = new List <User> { new User { Gender = "Male", FirstName = "Jon", LastName = "Snow", Country = "House Stark" } }; randomUserRetriever.Setup(x => x.GetUsersAsync(numUsers)) .ReturnsAsync(userList); var logic = new RandomUserGeneratorLogic(randomUserRetriever.Object); var result = await logic.GetRandomUserGeneratorDataHolder(numUsers); // Only checking that it is not null because the actual logic to // populate the values in the result are done in the object's constructor. Assert.IsNotNull(result); randomUserRetriever.VerifyAll(); }
public async Task GetRandomUserGeneratorDataHolder_Negative_Invalid() { int numUsers = -1; var randomUserRetriever = new Mock <IRandomUserRetriever>(MockBehavior.Strict); var logic = new RandomUserGeneratorLogic(randomUserRetriever.Object); var ex = await Assert.ThrowsExceptionAsync <InvalidOperationException>(() => logic.GetRandomUserGeneratorDataHolder(numUsers)); Assert.AreEqual($"numUsers must be at least 1. Value of numUsers: {numUsers}.", ex.Message); randomUserRetriever.VerifyAll(); }