Beispiel #1
0
        public async Task AppendTextWorksWithSpecificCulture()
        {
            // --- Arrange
            const string BODY = "1,25-1,25";
            var          wfs  = new WindowsFileStorage(ROOT);
            var          file = new AbstractFileDescriptor("Container", null, "TestFile.txt");

            using (var textFile = await wfs.CreateTextAsync(file, new CultureInfo("hu-hu")))
            {
                textFile.Writer.Write(1.25);
            }

            // --- Act
            using (var textFile = await wfs.AppendTextAsync(file, new CultureInfo("hu-hu")))
            {
                textFile.Writer.Write(-1.25);
            }

            // --- Assert
            using (var savedFile = await wfs.OpenTextAsync(file))
            {
                var text = savedFile.Reader.ReadToEnd();
                text.ShouldBe(BODY);
            }
        }
Beispiel #2
0
        public async Task CreateOrAppendTextWorksWithExistingFile()
        {
            // --- Arrange
            const string BODY     = "FirstSecond";
            var          wfs      = new WindowsFileStorage(ROOT);
            var          file     = new AbstractFileDescriptor("Container", null, "TestFile.txt");
            var          fileName = WindowsFileStorage.FilePathFromAbstractFile(file);

            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }
            using (var textFile = await wfs.CreateTextAsync(file))
            {
                textFile.Writer.Write("First");
            }

            // --- Act
            using (var textFile = await wfs.CreateOrAppendTextAsync(file))
            {
                textFile.Writer.Write("Second");
            }

            // --- Assert
            using (var savedFile = await wfs.OpenTextAsync(file))
            {
                var text = savedFile.Reader.ReadToEnd();
                text.ShouldBe(BODY);
            }
        }
Beispiel #3
0
        public async Task AppendTextWorksWithUtf32()
        {
            // --- Arrange
            const string BODY = "FirstSecond";
            var          wfs  = new WindowsFileStorage(ROOT);
            var          file = new AbstractFileDescriptor("Container", null, "TestFile.txt");

            using (var textFile = await wfs.CreateTextAsync(file, encoding: Encoding.UTF32))
            {
                textFile.Writer.Write("First");
            }

            // --- Act
            using (var textFile = await wfs.AppendTextAsync(file, encoding: Encoding.UTF32))
            {
                textFile.Writer.Write("Second");
            }

            // --- Assert
            using (var savedFile = await wfs.OpenTextAsync(file))
            {
                var text = savedFile.Reader.ReadToEnd();
                text.ShouldBe(BODY);
            }
        }
Beispiel #4
0
        public void ConstructionWorksAsExpected()
        {
            // --- Act
            var wfs = new WindowsFileStorage(ROOT);

            // --- Assert
            wfs.RootFolder.ShouldBe(ROOT);
        }
Beispiel #5
0
        public async Task CreateContainerFailsWithExistingName()
        {
            // --- Arrange
            const string CONTAINER = "Container1";
            var          wfs       = new WindowsFileStorage(ROOT);
            await wfs.CreateContainerAsync(CONTAINER);

            // --- Act
            await wfs.CreateContainerAsync("Container1");
        }
Beispiel #6
0
        public async Task GetContainersWorksWithNoContainer()
        {
            // --- Arrange
            var wfs = new WindowsFileStorage(ROOT);

            // --- Act
            var containers = await wfs.GetContainersAsync();

            // --- Assert
            containers.Count.ShouldBe(0);
        }
Beispiel #7
0
        public async Task EnsureContainerWorksWithExistingContainer()
        {
            // --- Arrange
            const string CONTAINER = "Existing";
            var          wfs       = new WindowsFileStorage(ROOT);
            await wfs.CreateContainerAsync(CONTAINER);

            // --- Act
            await wfs.EnsureContainerAsync(CONTAINER);

            // --- Assert
            (await wfs.ContainerExistsAsync(CONTAINER)).ShouldBeTrue();
        }
Beispiel #8
0
        public async Task DeleteWorksWithNonExistingFile()
        {
            // --- Arrange
            var wfs  = new WindowsFileStorage(ROOT);
            var file = new AbstractFileDescriptor("Container", null, "TestFile.txt");
            await wfs.DeleteAsync(file);

            // --- Act
            var deleted = await wfs.DeleteAsync(file);

            // --- Assert
            deleted.ShouldBeFalse();
            (await wfs.ExistsAsync(file)).ShouldBeFalse();
        }
Beispiel #9
0
        public async Task RemoveContainerWorksWithNonExistingContainer()
        {
            // --- Arrange
            const string CONTAINER = "NonExisting";
            var          wfs       = new WindowsFileStorage(ROOT);
            await wfs.CreateContainerAsync("Container1");

            // --- Act
            var removed = await wfs.RemoveContainerAsync(CONTAINER);

            // --- Assert
            removed.ShouldBeFalse();
            (await wfs.ContainerExistsAsync(CONTAINER)).ShouldBeFalse();
        }
Beispiel #10
0
        public async Task CreateContainerWorksWithNewName()
        {
            // --- Arrange
            const string CONTAINER = "Container1";
            var          wfs       = new WindowsFileStorage(ROOT);
            var          before    = await wfs.ContainerExistsAsync(CONTAINER);

            // --- Act

            await wfs.CreateContainerAsync("Container1");

            // --- Assert
            before.ShouldBeFalse();
            (await wfs.ContainerExistsAsync(CONTAINER)).ShouldBeTrue();
        }
Beispiel #11
0
        public async Task GetContainersWorksWithExistingContainers()
        {
            // --- Arrange
            var wfs = new WindowsFileStorage(ROOT);
            await wfs.CreateContainerAsync("Container1");

            await wfs.CreateContainerAsync("Container2");

            await wfs.CreateContainerAsync("Container3");

            // --- Act
            var containers = await wfs.GetContainersAsync();

            // --- Assert
            containers.Count.ShouldBe(3);
        }
Beispiel #12
0
        public async Task DeleteWorksWithExistingFile()
        {
            // --- Arrange
            var wfs  = new WindowsFileStorage(ROOT);
            var file = new AbstractFileDescriptor("Container", null, "TestFile.txt");

            using (var textFile = await wfs.CreateTextAsync(file))
            {
                textFile.Writer.Write("Awesome");
            }

            // --- Act
            var deleted = await wfs.DeleteAsync(file);

            // --- Assert
            deleted.ShouldBeTrue();
            (await wfs.ExistsAsync(file)).ShouldBeFalse();
        }
Beispiel #13
0
        public async Task CreateTextWorksAsExpected()
        {
            // --- Arrange
            const string BODY = "This is a text file";
            var          wfs  = new WindowsFileStorage(ROOT);
            var          file = new AbstractFileDescriptor("Container", null, "TestFile.txt");

            // --- Act
            using (var textFile = await wfs.CreateTextAsync(file))
            {
                textFile.Writer.Write(BODY);
            }

            // --- Assert
            using (var savedFile = await wfs.OpenTextAsync(file))
            {
                var text = savedFile.Reader.ReadToEnd();
                text.ShouldBe(BODY);
            }
        }
Beispiel #14
0
        public async Task RemoveContainerFailsWithNonEmptyContainer()
        {
            // --- Arrange
            const string CONTAINER = "NonEmptyContainer";
            var          wfs       = new WindowsFileStorage(ROOT);
            await wfs.CreateContainerAsync("Container1");

            await wfs.CreateContainerAsync(CONTAINER);

            var filePath = Path.Combine(ROOT, Path.Combine(CONTAINER), "file.txt");

            File.WriteAllText(filePath, "TextContents");

            // --- Act
            var removed = await wfs.RemoveContainerAsync(CONTAINER);

            // --- Assert
            removed.ShouldBeTrue();
            (await wfs.ContainerExistsAsync(CONTAINER)).ShouldBeFalse();
        }
 public WindowsFileStorageTests()
 {
     originalStorage = new TempStorage();
     _target         = new WindowsFileStorage(originalStorage.StoragePath);
 }