public void configure_if_the_matcher_can_find_something() { var graph = new NavigationGraph(); graph.MenuFor("one"); graph.MenuFor("two"); var theChain = graph.MenuFor("three"); MockFor <IStringTokenMatcher>().Stub(x => x.Matches(theChain.Key)).Return(true); ClassUnderTest.Configure(graph); MockFor <IMenuPlacementStrategy>().AssertWasCalled(x => x.Apply(theChain, theNode)); }
public void configure_if_the_matcher_cannot_find_something_will_add_a_menu_chain_for_the_parent() { var graph = new NavigationGraph(); graph.MenuFor("one"); graph.MenuFor("two"); MockFor <IStringTokenMatcher>().Stub(x => x.DefaultKey()).Return(new NavigationKey("three")); ClassUnderTest.Configure(graph); var theChain = graph.MenuFor("three"); MockFor <IMenuPlacementStrategy>().AssertWasCalled(x => x.Apply(theChain, theNode)); }
public void has_all_the_nodes() { graph.MenuFor(FakeKeys.Key1).Select(x => x.Key).ShouldHaveTheSameElementsAs(FakeKeys.Key2, FakeKeys.Key3, FakeKeys.Key4); var tokens = graph.AllNodes().Select(x => x.Key); tokens .ShouldHaveTheSameElementsAs(FakeKeys.Key1, FakeKeys.Key2, FakeKeys.Key8, FakeKeys.Key9, FakeKeys.Key10, FakeKeys.Key3, FakeKeys.Key4, FakeKeys.Key5, FakeKeys.Key6, FakeKeys.Key7); }
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); }