public void BuildModel_Case1_StartingNodeNotInChildLevel_ShouldReturnHierarchicalNodes() { // @Html.MvcSiteMap().Menu(true, false, true) // Arrange var siteMap = HtmlHelperTestCases.CreateFakeSiteMapCase1(); var startingNode = siteMap.RootNode; HtmlHelper helper = new HtmlHelper(this.viewContext.Object, this.iView.Object); MvcSiteMapHtmlHelper helperExtension = new MvcSiteMapHtmlHelper(helper, siteMap, false); // Act var result = MenuHelper.BuildModel( helper: helperExtension, sourceMetadata: new SourceMetadataDictionary(), startingNode: startingNode, startingNodeInChildLevel: false, showStartingNode: true, maxDepth: Int32.MaxValue, drillDownToCurrent: false, visibilityAffectsDescendants: true); // Assert // Tree structure - 3 nodes Assert.AreEqual("Home", result.Nodes[0].Title); Assert.AreEqual("About", result.Nodes[0].Children[0].Title); Assert.AreEqual("Contact", result.Nodes[0].Children[1].Title); // Check Counts Assert.AreEqual(1, result.Nodes.Count); Assert.AreEqual(2, result.Nodes[0].Children.Count); Assert.AreEqual(0, result.Nodes[0].Children[0].Children.Count); Assert.AreEqual(0, result.Nodes[0].Children[1].Children.Count); }
public void BuildModel_Case1_Default_ShouldReturnAllNodesAtRootLevel() { // @Html.MvcSiteMap().SiteMap() // Arrange var siteMap = HtmlHelperTestCases.CreateFakeSiteMapCase1(); var startingNode = siteMap.RootNode; HtmlHelper helper = new HtmlHelper(this.viewContext.Object, this.iView.Object); MvcSiteMapHtmlHelper helperExtension = new MvcSiteMapHtmlHelper(helper, siteMap, false); // Act var result = SiteMapHelper.BuildModel( helper: helperExtension, sourceMetadata: new SourceMetadataDictionary(), startingNode: startingNode, startingNodeInChildLevel: true, visibilityAffectsDescendants: true); // Assert // Flat structure - 3 nodes Assert.AreEqual("Home", result.Nodes[0].Title); Assert.AreEqual("About", result.Nodes[1].Title); Assert.AreEqual("Contact", result.Nodes[2].Title); // Check counts Assert.AreEqual(3, result.Nodes.Count); Assert.AreEqual(0, result.Nodes[0].Children.Count); Assert.AreEqual(0, result.Nodes[1].Children.Count); Assert.AreEqual(0, result.Nodes[2].Children.Count); }