Ejemplo n.º 1
0
        public void when_the_menu_node_is_only_a_node_with_no_behavior_chain()
        {
            theNode = MenuNode.Node("Something");

            ClassUnderTest.DetermineStateFor(theNode)
            .ShouldEqual(MenuItemState.Available);
        }
Ejemplo n.º 2
0
        public void SetUp()
        {
            graph = new NavigationGraph(x =>
            {
                x.ForMenu(FakeKeys.Key1);
                x.Add += MenuNode.Node(FakeKeys.Key2);
                x.Add += MenuNode.Node(FakeKeys.Key3);
                x.Add += MenuNode.Node(FakeKeys.Key4);


                x.ForMenu(FakeKeys.Key5);
                x.Add += MenuNode.Node(FakeKeys.Key6);
                x.Add += MenuNode.Node(FakeKeys.Key7);


                x.ForMenu(FakeKeys.Key2);
                x.Add += MenuNode.Node(FakeKeys.Key8);
                x.Add += MenuNode.Node(FakeKeys.Key9);

                x.ForMenu(FakeKeys.Key9);
                x.Add += MenuNode.Node(FakeKeys.Key10);
            });

            graph.Compile();
        }
        public void insert_after_by_mixed()
        {
            registry.ForMenu("Root");
            registry.Add += MenuNode.Node(FakeKeys.Key1);
            registry.InsertAfter[FakeKeys.Key1.ToLocalizationKey().ToString()] = MenuNode.Node(FakeKeys.Key2);

            theGraph.MenuFor("Root").Select(x => x.Key.Key)
            .ShouldHaveTheSameElementsAs("Key1", "Key2");
        }
        public void insert_after_by_token()
        {
            registry.ForMenu("Root");
            registry.Add += MenuNode.Node(FakeKeys.Key1);
            registry.InsertAfter[FakeKeys.Key1] = MenuNode.Node(FakeKeys.Key2);

            theGraph.MenuFor("Root").Select(x => x.Key.Key)
            .ShouldHaveTheSameElementsAs("Key1", "Key2");
        }
        public void insert_after_by_string()
        {
            registry.ForMenu("Root");
            registry.Add += MenuNode.Node("One");
            registry.InsertAfter["One"] = MenuNode.Node("Two");

            theGraph.MenuFor("Root").Select(x => x.Key.Key)
            .ShouldHaveTheSameElementsAs("One", "Two");
        }
Ejemplo n.º 6
0
        public void apply()
        {
            var dependency = new MenuChain("something");
            var node       = MenuNode.Node("else");

            new AddChild().Apply(dependency, node);

            dependency.Top.ShouldBeTheSameAs(node);
        }
            public ChildNavigation()
            {
                ForMenu(FakeKeys.Key1);
                Add += MenuNode.Node(FakeKeys.Key4);
                Add += MenuNode.Node(FakeKeys.Key5);

                ForMenu(FakeKeys.Key6);
                Add += MenuNode.Node(FakeKeys.Key7);
                Add += MenuNode.Node(FakeKeys.Key8);
            }
        public void insert_before_by_token()
        {
            registry.InsertBefore["Two"] = MenuNode.Node(FakeKeys.Key9);

            registry.ForMenu("Root");
            registry.Add += MenuNode.Node("Two");

            theGraph.MenuFor("Root").Select(x => x.Key.Key)
            .ShouldHaveTheSameElementsAs(FakeKeys.Key9.Key, "Two");
        }
Ejemplo n.º 9
0
        public void apply()
        {
            var dependency = MenuNode.Node("something");

            dependency.AddAfter(MenuNode.Node("third"));
            var node = MenuNode.Node("else");

            new AddAfter().Apply(dependency, node);

            dependency.Next.ShouldBeTheSameAs(node);
        }
Ejemplo n.º 10
0
        public void apply()
        {
            var dependency = MenuNode.Node("something");

            dependency.AddBefore(MenuNode.Node("third"));
            var node = MenuNode.Node("else");

            new AddBefore().Apply(dependency, node);

            dependency.Previous.ShouldBeTheSameAs(node);
        }
        public void navigation_method_on_fubu_registry_works()
        {
            registry.Import <NavigationRegistryExtension>();

            registry.Policies.Global.Add <NavigationRegistry>(x => {
                x.ForMenu(FakeKeys.Key1);
                x.Add += MenuNode.Node(FakeKeys.Key2);
                x.Add += MenuNode.Node(FakeKeys.Key3);
            });

            resolver.MenuFor(FakeKeys.Key1).Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(FakeKeys.Key2, FakeKeys.Key3);
        }
Ejemplo n.º 12
0
        public void add_node_and_parent_does_not_exist()
        {
            var graph = new NavigationGraph();

            var node = MenuNode.Node(FakeKeys.Key1);

            graph.AddChildNode(FakeKeys.Key2, node);

            graph.Compile();

            graph.MenuFor(FakeKeys.Key2).Top
            .ShouldBeTheSameAs(node);
        }
        public void import_with_strings_instead_of_StringToken()
        {
            registry.Import <NavigationRegistryExtension>();

            registry.Policies.Global.Add <NavigationRegistry>(x => {
                x.ForMenu("Key1");
                x.Add += MenuNode.Node("Key2");
                x.Add += MenuNode.Node("Key3");
            });

            registry.Import <ChildRegistry>();


            resolver.MenuFor(new NavigationKey("Key1")).Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(new NavigationKey("Key2"), new NavigationKey("Key3"));
        }
Ejemplo n.º 14
0
        public void navigation_method_on_fubu_registry_works()
        {
            var registry = new FubuRegistry();

            registry.Navigation(x =>
            {
                x.ForMenu(FakeKeys.Key1);
                x.Add += MenuNode.Node(FakeKeys.Key2);
                x.Add += MenuNode.Node(FakeKeys.Key3);
            });

            var graph = BehaviorGraph.BuildFrom(registry).Settings.Get <NavigationGraph>();

            graph.MenuFor(FakeKeys.Key1).Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(FakeKeys.Key2, FakeKeys.Key3);
        }
Ejemplo n.º 15
0
        public void add_node_to_another_node()
        {
            var graph      = new NavigationGraph();
            var parentNode = MenuNode.Node(FakeKeys.Key1);

            graph.AddChildNode(FakeKeys.Key2, parentNode);


            var childNode = MenuNode.Node(FakeKeys.Key3);

            graph.AddChildNode(FakeKeys.Key1, childNode);

            graph.Compile();

            parentNode.Children.Top
            .ShouldBeTheSameAs(childNode);
        }
Ejemplo n.º 16
0
        public void import_with_strings_instead_of_StringToken()
        {
            var registry = new FubuRegistry();

            registry.Navigation(x =>
            {
                x.ForMenu("Key1");
                x.Add += MenuNode.Node("Key2");
                x.Add += MenuNode.Node("Key3");
            });

            registry.Import <ChildRegistry>();

            var graph = BehaviorGraph.BuildFrom(registry).Settings.Get <NavigationGraph>();

            graph.MenuFor("Key1").Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(new NavigationKey("Key2"), new NavigationKey("Key3"));
        }
        public DiagnosticsMenu()
        {
            ForMenu(DiagnosticKeys.Main);

            Add += MenuNode.ForInput <PackageDiagnosticsRequestModel>(DiagnosticKeys.ApplicationStartup);

            Add += MenuNode.ForAction <RequestsEndpoint>(DiagnosticKeys.Requests, x => x.get_requests());
            Add += MenuNode.ForInput <RoutesRequest>(DiagnosticKeys.Endpoints);

            Add += MenuNode.ForAction <ModelBindingEndpoints>(DiagnosticKeys.ModelBindingExplorer, x => x.get_binding_all());


            Add += MenuNode.Node(DiagnosticKeys.Services);
            ForMenu(DiagnosticKeys.Services);

            Add += MenuNode.ForAction <ServiceEndpoints>(DiagnosticKeys.ServicesByName, x => x.get_services_byname());
            Add += MenuNode.ForAction <ServiceEndpoints>(DiagnosticKeys.ServicesBySource, x => x.get_services_bysource());
        }
        public void import_navigation_from_child_registry()
        {
            registry.Import <NavigationRegistryExtension>();

            registry.Policies.Global.Add <NavigationRegistry>(x => {
                x.ForMenu(FakeKeys.Key1);
                x.Add += MenuNode.Node(FakeKeys.Key2);
                x.Add += MenuNode.Node(FakeKeys.Key3);
            });

            registry.Import <ChildRegistry>();


            resolver.MenuFor(FakeKeys.Key1).Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(FakeKeys.Key2, FakeKeys.Key3, FakeKeys.Key4, FakeKeys.Key5);

            resolver.MenuFor(FakeKeys.Key6).Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(FakeKeys.Key7, FakeKeys.Key8);
        }
Ejemplo n.º 19
0
        public void import_navigation_from_child_registry()
        {
            var registry = new FubuRegistry();

            registry.Navigation(x =>
            {
                x.ForMenu(FakeKeys.Key1);
                x.Add += MenuNode.Node(FakeKeys.Key2);
                x.Add += MenuNode.Node(FakeKeys.Key3);
            });

            registry.Import <ChildRegistry>();

            var graph = BehaviorGraph.BuildFrom(registry).Settings.Get <NavigationGraph>();

            graph.MenuFor(FakeKeys.Key1).Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(FakeKeys.Key2, FakeKeys.Key3, FakeKeys.Key4, FakeKeys.Key5);

            graph.MenuFor(FakeKeys.Key6).Select(x => x.Key)
            .ShouldHaveTheSameElementsAs(FakeKeys.Key7, FakeKeys.Key8);
        }
Ejemplo n.º 20
0
 protected override void beforeEach()
 {
     theNode = MenuNode.Node("something");
     Services.Inject(theNode);
 }