public void TestParseRouteWithSystemEndpoint(string routeString, IMessageSource expectedSource, string expectedCondition, string systemEndpoint) { var mockEndpointFactory = new Mock <IEndpointFactory>(); mockEndpointFactory.Setup(ef => ef.CreateSystemEndpoint( It.Is <string>(s => s.Equals(systemEndpoint, StringComparison.OrdinalIgnoreCase)))) .Returns(new TestEndpoint(systemEndpoint)); var routeFactory = new TestRouteFactory(mockEndpointFactory.Object); routeFactory.ParseRoute(routeString, out IMessageSource messageSource, out string condition, out Endpoint endpoint); Assert.NotNull(messageSource); Assert.True(expectedSource.Equals(messageSource)); Assert.NotNull(condition); Assert.Equal(expectedCondition, condition); Assert.NotNull(endpoint); Assert.Equal(systemEndpoint, endpoint.Name); }