Пример #1
0
        public void RemoveContentFilesFromDifferentDirectories()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.CreateDirectory("/directory");
            fileSystem.CreateDirectory("/directory/directory1");
            if (fileSystem.TryGetFile("/directory", out var file) && file is Directory directory)
            {
                if (fileSystem.TryGetFile("/directory/directory1", out var file1) && file1 is Directory directory1)
                {
                    directory.AddChild(new ContentFile("/directory/file1", "test", directory));
                    directory1.AddChild(new ContentFile("/directory/directory1/file2", "test", directory1));

                    var paths = new[] { "/directory/file1", "/directory/directory1/file2" };

                    Assert.IsTrue(2 == directory.GetChildren().Count());
                    Assert.IsTrue(1 == directory1.GetChildren().Count());

                    fileSystem.RemoveContentFiles(paths);

                    Assert.IsTrue(1 == directory.GetChildren().Count());
                    Assert.IsTrue(!directory1.GetChildren().Any());
                }
                else
                {
                    Assert.Fail();
                }
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #2
0
        public void AddTwoDirectoriesFullPath()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.CreateDirectory("/directory");
            fileSystem.CreateDirectory("/directory/test");

            if (fileSystem.TryGetFile("/directory", out var directory1))
            {
                Assert.AreEqual("directory", directory1.Name);
                Assert.AreEqual("/directory", directory1.Path);
            }
            else
            {
                Assert.Fail("Directory was not added or couldn't be found in the tree.");
            }

            if (fileSystem.TryGetFile("/directory/test", out var directory2))
            {
                Assert.AreEqual("test", directory2.Name);
                Assert.AreEqual("/directory/test", directory2.Path);
            }
            else
            {
                Assert.Fail("Directory was not added or couldn't be found in the tree.");
            }
        }
Пример #3
0
        public void TryCreateInvalidContentFile()
        {
            var fileSystem = new Models.FileSystem();

            if (fileSystem.TryGetFile("/", out File file) && file is Directory directory)
            {
                directory.AddChild(new ContentFile(null, "Test", directory));
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #4
0
        public void CheckDefaultDirectory()
        {
            var fileSystem = new Models.FileSystem();

            if (fileSystem.TryGetFile("/", out var directory))
            {
                Assert.AreEqual("", directory.Name);
                Assert.AreEqual("/", directory.Path);
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #5
0
        public void TryAddFileWithSameName()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.CreateDirectory("/directory");

            if (fileSystem.TryGetFile("/directory", out var file) && file is Directory directory)
            {
                directory.AddChild(new ContentFile("/directory/file1", "test", directory));
                directory.AddChild(new ContentFile("/directory/file1", "test", directory));
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #6
0
        public void AddDirectoryFullPathAndTryGetIt()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.CreateDirectory("/directory");

            if (fileSystem.TryGetFile("/directory", out var directory))
            {
                Assert.AreEqual("directory", directory.Name);
                Assert.AreEqual("/directory", directory.Path);
            }
            else
            {
                Assert.Fail("Directory was not added or couldn't be found in the tree.");
            }
        }
Пример #7
0
        public void CreateContentFile()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.CreateDirectory("/directory");

            fileSystem.CreateContentFile("/directory/test", "Hello.");

            if (fileSystem.TryGetFile("/directory/test", out File file) && file is ContentFile contentFile)
            {
                Assert.IsTrue(string.Equals("Hello.", contentFile.Content));
            }
            else
            {
                Assert.Fail();
            }
        }
        private string ConcatenateFiles(Models.FileSystem fileSystem)
        {
            var stringBuilder = new StringBuilder();

            foreach (var path in InputFiles)
            {
                if (fileSystem.TryGetFile(path.Trim(), out File file) && file is ContentFile contentFile)
                {
                    stringBuilder.AppendLine(contentFile.Content);
                }
                else
                {
                    throw new InvalidOperationException($"File {path} couldn't be found");
                }
            }

            return(stringBuilder.ToString());
        }
Пример #9
0
        public void TryRemoveOneDirectoryOneContentFileWithRemoveContentFileFunction()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.CreateDirectory("/directory");

            if (fileSystem.TryGetFile("/directory", out var file) && file is Directory directory)
            {
                directory.AddChild(new ContentFile("/file1", "test", directory));

                var paths = new[] { "/file1", "/directory" };

                fileSystem.RemoveContentFiles(paths);
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #10
0
        public void TryRemoveMissingContentFile()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.CreateDirectory("/directory");

            if (fileSystem.TryGetFile("/directory", out var file) && file is Directory directory)
            {
                directory.AddChild(new ContentFile("/directory/file1", "test", directory));

                var paths = new[] { "/directory/file1", "/directory/file2" };

                Assert.IsTrue(1 == directory.GetChildren().Count());

                fileSystem.RemoveContentFiles(paths);
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #11
0
        public void TryGetInvalidDirectory()
        {
            var fileSystem = new Models.FileSystem();

            fileSystem.TryGetFile(null, out File file);
        }