public void GetRouteValuesForParameterLessMethodReturnsCorrectResult( ScalarRouteValuesQuery sut) { Expression <Action <FooController> > exp = c => c.GetDefault(); var methodCallExp = (MethodCallExpression)exp.Body; var actual = sut.GetRouteValues(methodCallExp); Assert.Empty(actual); }
public void GetUriWithCustomRouteAndDispatcherReturnsCorrectResult( [Frozen] HttpRequestMessage request, [Frozen(As = typeof(IRouteValuesQuery))] ScalarRouteValuesQuery dummyQuery, [Frozen] Mock <IRouteDispatcher> dispatcherStub, string routeName, [Greedy] RouteLinker sut, int ploeh, string fnaah) { // Arrange request.AddDefaultRoute(); request.AddRoute( name: routeName, routeTemplate: "foo/{ploeh}/{fnaah}", defaults: new { }); var method = Reflect <FooController> .GetMethod(c => c.GetWithPloehAndFnaah(ploeh, fnaah)); dispatcherStub .Setup(d => d.Dispatch( It.Is <MethodCallExpression>(exp => method.Equals(exp.Method)), It.IsAny <IDictionary <string, object> >())) .Returns((MethodCallExpression _, IDictionary <string, object> routeValues) => new Rouple(routeName, routeValues)); // Act var actual = sut.GetUri <FooController>(r => r.GetWithPloehAndFnaah(ploeh, fnaah)); // Assert var baseUri = request.RequestUri.GetLeftPart(UriPartial.Authority); var expected = new Uri( new Uri(baseUri), "foo/" + ploeh + "/" + fnaah); Assert.Equal(expected, actual); }
public void GetParameterValueReturnsCorrectResult( int index, ScalarRouteValuesQuery sut, int id, string bar) { Expression <Action <BarController> > exp = c => c.GetWithIdAndQueryParameter(id, bar); var methodCallExp = (MethodCallExpression)exp.Body; var parameters = methodCallExp.Method.GetParameters(); var actual = sut.GetParameterValues(methodCallExp, parameters[index]); var expected = new Dictionary <string, object> { { "id", id }, { "bar", bar } } .ToArray()[index]; Assert.Contains(expected, actual); }
public void SutIsRouteValuesQuery(ScalarRouteValuesQuery sut) { Assert.IsAssignableFrom <IRouteValuesQuery>(sut); }