Пример #1
0
        public void MemoryFileSystemProvider_CreateFile_CreatesNewFolder()
        {
            var provider = new MemoryFileSystemProvider();

            provider.CreateFolder("home");
            provider.CreateFolder("home/user1");
            provider.CreateFolder("/home/user2");

            provider.SetCurrentDirectory("home");
            provider.CreateFolder("user3");
            provider.CreateFolder("user3/data");

            Assert.True(provider.DirectoryExists("/home"));
            Assert.True(provider.DirectoryExists("/home/user1"));
            Assert.True(provider.DirectoryExists("/home/user2"));
            Assert.True(provider.DirectoryExists("/home/user3"));
            Assert.True(provider.DirectoryExists("/home/user3/data"));
        }
Пример #2
0
        public void MemoryFileSystemProvider_GetCurrentDirectory_ReturnsCurrentFolder()
        {
            var provider = new MemoryFileSystemProvider();

            Assert.Equal("/", provider.GetCurrentDirectory());

            provider.CreateFolder("home");
            provider.SetCurrentDirectory("home");

            Assert.Equal("/home", provider.GetCurrentDirectory());
        }
Пример #3
0
        public void MemoryFileSystemProvider_DirectoryExists_ChecksWhetherDirectoryExists()
        {
            var provider = new MemoryFileSystemProvider();

            Assert.True(provider.DirectoryExists("/"));

            Assert.False(provider.DirectoryExists("home"));
            Assert.False(provider.DirectoryExists("/home"));
            provider.CreateFolder("home");
            Assert.True(provider.DirectoryExists("home"));
            Assert.True(provider.DirectoryExists("/home"));
        }
Пример #4
0
        public void MemoryFileSystemProvider_GetFullPath_ReturnsAbolutePath()
        {
            var provider = new MemoryFileSystemProvider();

            Assert.Equal("/input.dat", provider.GetFullPath("input.dat"));
            Assert.Equal("/input.dat", provider.GetFullPath("./input.dat"));
            Assert.Equal("/input.dat", provider.GetFullPath("/input.dat"));

            provider.CreateFolder("home");
            provider.SetCurrentDirectory("home");

            Assert.Equal("/home/input.dat", provider.GetFullPath("input.dat"));
            Assert.Equal("/home/input.dat", provider.GetFullPath("./input.dat"));
            Assert.Equal("/home/input.dat", provider.GetFullPath("../home/input.dat"));
            Assert.Equal("/home/input.dat", provider.GetFullPath("/home/input.dat"));
        }
Пример #5
0
        public void MemoryFileSystemProvider_GetFiles_ReturnsCollectionOfFiles()
        {
            var provider = new MemoryFileSystemProvider();

            Assert.False(provider.GetFiles("/").Any());

            provider.CreateFile("input.dat");
            Assert.Single(provider.GetFiles("/"));
            Assert.Equal("/input.dat", provider.GetFiles("/").First());

            provider.CreateFolder("home");
            provider.CreateFile("/home/input1.dat");
            provider.CreateFile("/home/input2.dat");
            Assert.Equal(2, provider.GetFiles("/home").Count());
            Assert.Equal("/home/input1.dat", provider.GetFiles("/home").First());
            Assert.Equal("/home/input2.dat", provider.GetFiles("/home").Last());
        }
Пример #6
0
        public void MemoryFileSystemProvider_CreateFile_CreatesNewFile()
        {
            var provider = new MemoryFileSystemProvider();

            provider.CreateFile("input1.dat");
            provider.CreateFile("/input2.dat");

            provider.CreateFolder("home");
            provider.CreateFile("/home/input3.dat");

            provider.SetCurrentDirectory("home");
            provider.CreateFile("input4.dat");
            provider.CreateFile("/home/input5.dat");

            Assert.True(provider.FileExists("/input1.dat"));
            Assert.True(provider.FileExists("/input2.dat"));
            Assert.True(provider.FileExists("/home/input3.dat"));
            Assert.True(provider.FileExists("/home/input4.dat"));
            Assert.True(provider.FileExists("/home/input5.dat"));
        }
        public async Task <MemoryFileSystemProvider> GetProvider()
        {
            var provider = new MemoryFileSystemProvider();
            var items    = await FileSystemRepository.GetDirectory();

            foreach (var item in items.OrderBy(i => i.Path))
            {
                if (item.Kind == Abstracts.FileSystemItemKind.Folder)
                {
                    provider.CreateFolder(item.Path);
                }
                else if (item.Kind == Abstracts.FileSystemItemKind.File)
                {
                    var content = await FileSystemRepository.GetFileContent(item.Key);

                    provider.AppendAllText(item.Path, content);
                }
            }

            return(provider);
        }