public void Constructor_ValidRelativePath()
        {
            var directoryInfo = new DirectoryInfo(@"c:\temp");

            var node = new FolderDirectoryTreeNode(directoryInfo, "../");

            Assert.AreEqual(@"../", node.RelativePathFromRoot);
        }
        public void Constructor_ValidFileSystemInfo_SetsOriginalLocationUrl()
        {
            var directoryInfo = new DirectoryInfo(@"c:\temp");

            var node = new FolderDirectoryTreeNode(directoryInfo, "");

            Assert.AreEqual(@"file:///c:/temp/", node.OriginalLocationUrl.ToString());
        }
        public void Constructor_ValidFileSystemInfo_SetsOriginalLocation()
        {
            var directoryInfo = new DirectoryInfo(@"c:\temp");

            var node = new FolderDirectoryTreeNode(directoryInfo, "");

            Assert.AreEqual(@"c:\temp", node.OriginalLocation.FullName);
        }
        public void GetRelativeUriTo_FileToDirectory_ReturnsNodesFileName()
        {
            var fileInfo = new FileInfo(@"c:\temp\test1.html");

            var node = new FolderDirectoryTreeNode(fileInfo, "../");

            string relative = node.GetRelativeUriTo(new Uri(@"file:///c:/temp/"));

            Assert.AreEqual("test1.html", relative);
        }
        public void GetRelativeUriTo_DirectoryToParentDirectory_ReturnsRelativePath()
        {
            var directoryInfo = new DirectoryInfo(@"c:\temp\child");

            var node = new FolderDirectoryTreeNode(directoryInfo, "../");

            string relative = node.GetRelativeUriTo(new Uri(@"file:///c:/temp/"));

            Assert.AreEqual("child/", relative);
        }
        public void GetRelativeUriTo_DirectoryToFileOutside_ReturnsRelativePath()
        {
            var directoryInfo = new DirectoryInfo(@"c:\temp");

            var node = new FolderDirectoryTreeNode(directoryInfo, "../");

            string relative = node.GetRelativeUriTo(new Uri(@"file:///c:/temp2/test2.html"));

            Assert.AreEqual("../temp/", relative);
        }
        public void RealData()
        {
            var originalLocation =
                new DirectoryInfo(
                    @"C:\tfs\Dev.CAX\src\CAX_Main\src\net\Projects\Aim.Gain.GoldenCopy.FunctionalTesting\CAX\DistributionOfRights");

            var node = new FolderDirectoryTreeNode(originalLocation, "");

            var other =
                new Uri(
                    "file:///C:/tfs/Dev.CAX/src/CAX_Main/src/net/Projects/Aim.Gain.GoldenCopy.FunctionalTesting/CAX/");

            string relative = node.GetRelativeUriTo(other);

            Assert.AreEqual("DistributionOfRights/", relative);
        }