コード例 #1
0
        public void GetRouteActionAttributesPartialPrefixOverwrittenTest()
        {
            var first     = "first/{p2}";
            var templates = new List <string>()
            {
                "none"
            };
            var selector   = new RouteSelector(templates);
            var type       = GetType();
            var parameters = type.GetMethod(nameof(Stub_CheckMethodParametersTest)).GetParameters();
            var routes     = new RouteAttributes
            {
                Attributes = new List <RouteAttributeProxy>()
                {
                    new RouteAttributeProxy {
                        Template = "~/" + first
                    },
                    new RouteAttributeProxy {
                        Template = "second"
                    }
                },
                Parameters = parameters,
                Prefix     = "myPrefix"
            };

            var route = selector.GetRoute(routes);

            Assert.AreEqual($"{first}?{{{parameters[0].Name}}}".ToLower(), route);
        }
コード例 #2
0
        public void GetRouteActionAttributesNoPrefixTest()
        {
            var first     = "first/{p2}/{p1}";
            var templates = new List <string>()
            {
                "none"
            };
            var selector   = new RouteSelector(templates);
            var type       = GetType();
            var parameters = type.GetMethod(nameof(Stub_CheckMethodParametersTest)).GetParameters();
            var routes     = new RouteAttributes
            {
                Attributes = new List <RouteAttributeProxy>()
                {
                    new RouteAttributeProxy {
                        Template = first
                    },
                    new RouteAttributeProxy {
                        Template = "second"
                    }
                },
                Parameters = parameters
            };

            var route = selector.GetRoute(routes);

            Assert.AreEqual($"{first}".ToLower(), route);
        }
コード例 #3
0
        public void GetRouteActionAttributesActionFullQueryPrefixTest()
        {
            var first     = "first";
            var templates = new List <string>()
            {
                "none"
            };
            var selector   = new RouteSelector(templates);
            var type       = GetType();
            var parameters = type.GetMethod(nameof(Stub_CheckMethodParametersTest)).GetParameters();
            var routes     = new RouteAttributes
            {
                Attributes = new List <RouteAttributeProxy>()
                {
                    new RouteAttributeProxy {
                        Template = "[action]/" + first
                    },
                    new RouteAttributeProxy {
                        Template = "second"
                    }
                },
                Parameters = parameters,
                Prefix     = "myPrefix",
                ActionName = "MyAction"
            };

            var route = selector.GetRoute(routes);

            Assert.AreEqual($"{routes.Prefix}/{routes.ActionName}/{first}?{{{parameters[0].Name}}}&{{{parameters[1].Name}}}".ToLower(), route);
        }
コード例 #4
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            if (Device.OS != TargetPlatform.iOS)
            {
                RouteSelector.IsVisible = true;
                RouteSelector.Animate(new FadeInAnimation
                {
                    Direction = FadeInAnimation.FadeDirection.Up,
                    Easing    = EasingType.Linear,
                    Duration  = "1000"
                }, () =>
                {
                    if (Device.OS == TargetPlatform.Android)
                    {
                        AndroidGoImage.Animate(new FadeToAnimation
                        {
                            Delay    = 1000,
                            Opacity  = 1,
                            Duration = "500"
                        });
                    }
                });
            }

            InfoPanel.IsVisible = true;
        }
コード例 #5
0
        public void RemoveConstraintsTest()
        {
            var selector = new RouteSelector(null);
            var template = "default/[action]/{Id:int}/[controller]/{name:alpha}";

            var route = selector.RemoveConstraints(template);

            Assert.AreEqual("default/[action]/{id}/[controller]/{name}", route);
        }
コード例 #6
0
        public void GetTemplateParametersExcludeTest()
        {
            var selector = new RouteSelector(null);
            var template = "default/[action]/[controller]";

            var parameters = selector.GetTemplateParameters(template);

            Assert.AreEqual(0, parameters.Count());
        }
コード例 #7
0
        public void GetTemplateParametersEmptyTest()
        {
            var selector = new RouteSelector(null);
            var template = "";

            var parameters = selector.GetTemplateParameters(template);

            Assert.AreEqual(0, parameters.Count());
        }
コード例 #8
0
        public void GetTemplateParametersTest()
        {
            var selector = new RouteSelector(null);
            var template = "default/{action}/{Id}/{controller}";

            var parameters = selector.GetTemplateParameters(template);

            Assert.AreEqual(1, parameters.Count());
            Assert.AreEqual("id", parameters.First());
        }
コード例 #9
0
        public void GetDefaultTemplateNoTemplateTest()
        {
            var selector = new RouteSelector(null);
            var routes   = new RouteAttributes {
                ActionName = "MyAction", ControllerName = "MyController"
            };

            var route = selector.GetDefaultTemplate(routes);

            Assert.AreEqual(String.Empty, route);
        }
コード例 #10
0
        public void GetDefaultRouteEmptyTest()
        {
            var selector = new RouteSelector(null);
            var routes   = new RouteAttributes {
                Attributes = new List <RouteAttributeProxy>()
                {
                }
            };

            var route = selector.GetDefaultRoute(routes);

            Assert.AreEqual(String.Empty, route);
        }
コード例 #11
0
        private void RouteButton_Click(object sender, RoutedEventArgs e)
        {
            Sensor sensor = (e.Source as Button).DataContext as Sensor;
            var    dialog = new RouteSelector(null, Osc.Tree.Root);

            dialog.ShowDialog();

            if (dialog.DialogResult == true)
            {
                sensor.Route = dialog.CurrentRoute;
                needsSaving  = true;
            }
        }
コード例 #12
0
        public void GetDefaultTemplateMethodNameTest()
        {
            var defaultRoute = "default/[action]/[controller]";
            var templates    = new List <string>()
            {
                defaultRoute
            };
            var selector = new RouteSelector(templates);
            var routes   = new RouteAttributes {
                MethodName = "MyMethod", ControllerName = "MyController"
            };

            var route = selector.GetDefaultTemplate(routes);

            Assert.AreEqual($"{defaultRoute}".Replace("[action]", routes.MethodName).Replace("[controller]", routes.ControllerName).ToLower(), route);
        }
コード例 #13
0
        public void GetDefaultTemplateTest()
        {
            var defaultRoute = "default/{action}/{controller}";
            var templates    = new List <string>()
            {
                defaultRoute, "none"
            };
            var selector = new RouteSelector(templates);
            var routes   = new RouteAttributes {
                ActionName = "MyAction", ControllerName = "MyController"
            };

            var route = selector.GetDefaultTemplate(routes);

            Assert.AreEqual($"{defaultRoute}".Replace("{action}", routes.ActionName).Replace("{controller}", routes.ControllerName).ToLower(), route);
        }
コード例 #14
0
        private void Route_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            ArduinoPin pin    = (e.Source as Label).DataContext as ArduinoPin;
            var        dialog = new RouteSelector(null, Osc.Tree.Root, true);

            if (pin.Route != null)
            {
                dialog.SetRoute(pin.Route);
            }
            dialog.ShowDialog();

            if (dialog.DialogResult == true)
            {
                pin.Route   = dialog.CurrentRoute;
                needsSaving = true;
            }
        }
コード例 #15
0
        public void GetRouteActionNamePartialTest()
        {
            var defaultRoute = "default/[action]/[controller]/{p1}";
            var templates    = new List <string>()
            {
                defaultRoute, "none"
            };
            var selector   = new RouteSelector(templates);
            var type       = GetType();
            var parameters = type.GetMethod(nameof(Stub_CheckMethodParametersTest)).GetParameters();
            var routes     = new RouteAttributes {
                ActionName = "MyAction", ControllerName = "MyController", Parameters = parameters
            };

            var route = selector.GetRoute(routes);

            Assert.AreEqual($"{defaultRoute.Replace("[action]", routes.ActionName).Replace("[controller]", routes.ControllerName).ToLower()}?{{p2}}", route);
        }
コード例 #16
0
        public void GetDefaultRoutePrefixTest()
        {
            var first    = "~/first";
            var selector = new RouteSelector(null);
            var routes   = new RouteAttributes
            {
                Attributes = new List <RouteAttributeProxy>()
                {
                    new RouteAttributeProxy {
                        Template = first
                    },
                    new RouteAttributeProxy {
                        Template = "second"
                    }
                },
            };

            var route = selector.GetDefaultRoute(routes);

            Assert.AreEqual(first, route);
        }