Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public void SutIsRouteValuesQuery(ScalarRouteValuesQuery sut)
 {
     Assert.IsAssignableFrom <IRouteValuesQuery>(sut);
 }