public void ShouldReturnIdOfFolderIfIsFirstChild()
        {
            var hierarchyHelper = new HierarchyHelper();
            var mockHierarchy = new MockVsHierarchy2();
            Node folderNode = new Node() { Name = "folder" };
            Node rootNode = new Node(true) { FirstChild = folderNode };
            mockHierarchy.AddNode(rootNode);

            var itemId = hierarchyHelper.GetItemId(mockHierarchy, "folder");

            Assert.AreEqual(folderNode.ItemId, itemId);
        }
        public void ShouldReturnIdOfFolderIfInSubFolder()
        {
            var hierarchyHelper = new HierarchyHelper();
            var mockHierarchy = new MockVsHierarchy2();
            Node subFolderNode = new Node() { Name = "subfolder" };
            Node folderNode = new Node() { Name = "folder", FirstChild = subFolderNode };
            Node firstChildNode = new Node() { Name = "otherItem", NextSibling = folderNode };
            Node rootNode = new Node(true) { FirstChild = firstChildNode };
            mockHierarchy.AddNode(rootNode);

            var itemId = hierarchyHelper.GetItemId(mockHierarchy, "folder\\subfolder");

            Assert.AreEqual(subFolderNode.ItemId, itemId);
        }
        public void ShouldReturnRootId()
        {
            var hierarchyHelper = new HierarchyHelper();
            var mockHierarchy = new MockVsHierarchy2();
            var itemId = hierarchyHelper.GetItemId(mockHierarchy, "");

            Assert.AreEqual(VSConstants.VSITEMID_ROOT, itemId);
        }
        public void ShouldReturnNilIfElementDoesntExists()
        {
            var hierarchyHelper = new HierarchyHelper();
            var mockHierarchy = new MockVsHierarchy2();
            Node firstChildNode = new Node() { Name = "anotherItem" };
            Node rootNode = new Node(true) { FirstChild = firstChildNode };
            mockHierarchy.AddNode(rootNode);

            var itemId = hierarchyHelper.GetItemId(mockHierarchy, "folder\\subfolder");

            Assert.AreEqual(VSConstants.VSITEMID_NIL, itemId);
        }