public void ReturnsNullIfNoEndpointsRespond() { const string nowhere = "http://nowhere.com"; var mockEndpointDetector = new Mock<IEndpointDetector>(); mockEndpointDetector .Setup(m => m.GetEndpointStatus(It.IsAny<int>(), It.IsAny<string>())) .ReturnsAsync(new EndpointStatus(false, nowhere)); var endpointSelector = new EndpointSelector(mockEndpointDetector.Object); var address = endpointSelector.GetFirstToRespond(nowhere, nowhere).Result; Assert.That(address, Is.Null); }
public void ReturnsTheFirstEndpointToRespond() { const string nowhere = "http://nowhere.com"; const string google = "http://google.com"; var mockEndpointDetector = new Mock<IEndpointDetector>(); mockEndpointDetector .Setup(m => m.GetEndpointStatus(It.IsAny<int>(), It.Is<string>(x => x != google))) .ReturnsAsync(new EndpointStatus(false, nowhere)); mockEndpointDetector .Setup(m => m.GetEndpointStatus(It.IsAny<int>(), It.Is<string>(x => x == google))) .ReturnsAsync(new EndpointStatus(true, google, HttpStatusCode.OK)); var endpointSelector = new EndpointSelector(mockEndpointDetector.Object); var address = endpointSelector.GetFirstToRespond(nowhere, google).Result; Assert.That(address, Is.EqualTo(google)); }