public void SucceedGivenExistingFilePath()
        {
            var pathTree = new PathTree();

            Assert.True(pathTree.TryAdd(Ja_UTF8_CRLF_TxtPath, out string errorMessage));
            Assert.False(pathTree.FindNode(TestDataPath).IsTarget);
            Assert.True(pathTree.FindNode(Ja_UTF8_CRLF_TxtPath).IsTarget);
        }
        public void SucceedGivenExistingDirectoryPath()
        {
            var pathTree = new PathTree();

            Assert.True(pathTree.TryAdd(TestDataPath, out string errorMessage));
            AllExistingPaths.ForEach(path => Assert.True(pathTree.FindNode(path).IsTarget));
        }
        public void MergePassedPaths()
        {
            string currentDirectoryBackup = Directory.GetCurrentDirectory();

            Directory.SetCurrentDirectory(TestDataPath);
            try
            {
                var pathTree = new PathTree();
                Assert.True(pathTree.TryAdd("Hoge/Hoge.txt", out string errorMessage1));
                Assert.True(pathTree.TryAdd(Path.Combine(TestDataPath, "Hoge"), out string errorMessage2));
                Assert.Equal(pathTree.FindNode("Hoge/Hoge.txt"), pathTree.FindNode(Path.Combine(TestDataPath, "Hoge/Hoge.txt")));
            }
            finally
            {
                Directory.SetCurrentDirectory(currentDirectoryBackup);
            }
        }