Example #1
0
        public void can_override_the_arg_type()
        {
            var parameter = new RouteArgument("foo", 1);

            parameter.ArgType = typeof(int);

            parameter.ArgType.ShouldBe(typeof(int));
        }
Example #2
0
        public void setting_the_member_changes_the_segment_key_name()
        {
            var arg = new RouteArgument("Key", 0);

            arg.MapToField <InputModel>("Number");

            arg.ArgType.ShouldBe(typeof(int));
            arg.Key.ShouldBe("Number");
        }
Example #3
0
        public void happy_path()
        {
            var routeData = new Dictionary <string, object>();

            var parameter = new RouteArgument("foo", 1);

            parameter.SetValues(routeData, "a/b/c/d".Split('/'));

            routeData["foo"].ShouldBe("b");
        }
Example #4
0
        public void happy_path_with_number()
        {
            var routeData = new Dictionary <string, object>();

            var parameter = new RouteArgument("foo", 1);

            parameter.ArgType = typeof(int);

            parameter.SetValues(routeData, "a/25/c/d".Split('/'));

            routeData["foo"].ShouldBe(25);
        }
Example #5
0
        public void create_route_parsing_frame_from_string_argument()
        {
            var arg = new RouteArgument("name", 1);

            arg.ArgType = typeof(string);

            var frame = arg.ToParsingFrame(null).ShouldBeOfType <CastRouteArgumentFrame>();

            frame.ShouldNotBeNull();
            frame.Position.ShouldBe(1);
            frame.Name.ShouldBe("name");
        }
Example #6
0
        public void set_mapped_parameter()
        {
            var method = ReflectionHelper.GetMethod <SomeEndpoint>(x => x.go(null, 3));
            var param  = method.GetParameters().Last();

            var arg = new RouteArgument("number", 0);

            arg.MappedParameter = param;

            arg.ArgType.ShouldBe(typeof(int));
            arg.MappedParameter.ShouldBe(param);
        }
Example #7
0
        public void create_route_parsing_frame_from_string_argument()
        {
            var arg = new RouteArgument("name", 1);

            arg.ArgType = typeof(string);

            var frame = arg.ToParsingFrame().ShouldBeOfType <StringRouteArgument>();

            ShouldBeNullExtensions.ShouldNotBeNull(frame);
            frame.Position.ShouldBe(1);
            frame.Name.ShouldBe("name");
        }
Example #8
0
        public void get_parameters_from_property()
        {
            var arg = new RouteArgument("Key", 0);

            arg.MapToProperty <InputModel>(x => x.Color);


            arg.ReadRouteDataFromInput(new InputModel {
                Color = Color.Blue
            })
            .ShouldBe("Blue");
        }
Example #9
0
        public void read_route_data_from_arguments()
        {
            var method = ReflectionHelper.GetMethod <SomeEndpoint>(x => x.go(null, 3));
            var param  = method.GetParameters().Last();

            var arg = new RouteArgument("number", 0);

            arg.MappedParameter = param;

            var arguments = MethodCallParser.ToArguments <SomeEndpoint>(x => x.go(null, 3));

            arg.ReadRouteDataFromMethodArguments(arguments).ShouldBe("3");
        }
Example #10
0
        public void get_parameters_from_number_field()
        {
            var arg = new RouteArgument("Key", 0);

            arg.MapToField <InputModel>("Number");

            arg.ArgType.ShouldBe(typeof(int));

            arg.ReadRouteDataFromInput(new InputModel {
                Number = 25
            })
            .ShouldBe("25");
        }
Example #11
0
        public void get_parameters_from_field()
        {
            var arg = new RouteArgument("Key", 0);

            arg.MapToField <InputModel>("Key");

            arg.ArgType.ShouldBe(typeof(string));

            arg.ReadRouteDataFromInput(new InputModel {
                Key = "Rand"
            })
            .ShouldBe("Rand");
        }
Example #12
0
        public void create_route_parsing_from_int_argument()
        {
            var arg = new RouteArgument("age", 3)
            {
                ArgType = typeof(int)
            };

            var frame = arg.ToParsingFrame(null).ShouldBeOfType <ParsedRouteArgumentFrame>();

            frame.ShouldNotBeNull();
            frame.Position.ShouldBe(3);
            frame.Variable.Usage.ShouldBe("age");

            frame.Variable.VariableType.ShouldBe(typeof(int));
        }
Example #13
0
        public void write_value_to_field()
        {
            var arg = new RouteArgument("Key", 0);

            arg.MapToField <InputModel>("Key");

            var model = new InputModel();
            var dict  = new Dictionary <string, object>();

            dict.Add(arg.Key, "Mat");

            arg.ApplyRouteDataToInput(model, dict);

            model.Key.ShouldBe("Mat");
        }
Example #14
0
        public void write_value_to_property()
        {
            var arg = new RouteArgument("Color", 2);

            arg.MapToProperty <InputModel>(x => x.Color);

            var model = new InputModel();
            var dict  = new Dictionary <string, object>();

            dict.Add("Color", Color.Yellow);

            arg.ApplyRouteDataToInput(model, dict);

            model.Color.ShouldBe(Color.Yellow);
        }
Example #15
0
        public void the_default_arg_type_is_string()
        {
            var parameter = new RouteArgument("foo", 1);

            parameter.ArgType.ShouldBe(typeof(string));
        }
Example #16
0
 public RouteArgumentExpectation(RouteArgument argument)
 {
     Position = argument.Position;
     ArgType  = argument.ArgType;
     Key      = argument.Key;
 }
 public bool Find(Predicate<RouteArgument> predicate, out RouteArgument result)
 {
     return _cache.Find(predicate, out result);
 }
Example #18
0
        public void canonical_path()
        {
            var parameter = new RouteArgument("foo", 1);

            parameter.CanonicalPath().ShouldBe("*");
        }