Exemple #1
0
        public void Execute_ShouldSendCorrectArgumentsForRenaming()
        {
            // Arrange
            // Act
            var strategy     = new RenameTransferStrategy();
            var memoryStream = new MemoryStream();

            strategy.Execute(new RenameFileModel
            {
                FileAction   = FileAction.Rename,
                FullPath     = "C:\\MyFolder\\1.txt",
                NewFileName  = "2.txt",
                RelativePath = "1.txt",
                FileType     = FileType.Directory
            }, memoryStream);
            const int modelLength = 12;

            // Assert
            memoryStream.Seek(modelLength, SeekOrigin.Begin);
            var reader = new BinaryReader(memoryStream);

            var size = BitConverter.ToInt32(reader.ReadBytes(4), 0);

            Assert.Equal(5, size);

            var filename = Encoding.GetEncoding("UTF-8").GetString(reader.ReadBytes(size));

            Assert.Equal("2.txt", filename);
        }
Exemple #2
0
        public void Execute_WithNullStream_ShouldShrowException()
        {
            // Arrange
            // Act
            // Assert
            var strategy = new RenameTransferStrategy();

            Assert.Throws <ArgumentNullException>(() => strategy.Execute(new RenameFileModel(), null));
        }
Exemple #3
0
        public void Execute_WithNullModel_ShouldShrowException()
        {
            // Arrange
            // Act
            // Assert
            var strategy = new RenameTransferStrategy();

            Assert.Throws <ArgumentNullException>(() => strategy.Execute(null, new MemoryStream()));
        }
Exemple #4
0
        public void Execute_ShouldInitiateDialogWithCorrectValues()
        {
            // Arrange
            // Act
            var strategy     = new RenameTransferStrategy();
            var memoryStream = new MemoryStream();

            strategy.Execute(new RenameFileModel
            {
                FileAction   = FileAction.Rename,
                FullPath     = "C:\\MyFolder\\1.txt",
                NewFileName  = "2.txt",
                RelativePath = "1.txt",
                FileType     = FileType.Directory
            }, memoryStream);

            // Assert
            memoryStream.Seek(0, SeekOrigin.Begin);
            var reader = new BinaryReader(memoryStream);

            var version = reader.ReadBytes(1).Single();

            Assert.Equal(1, version);

            var action = (FileAction)reader.ReadBytes(1).Single();

            Assert.Equal(FileAction.Rename, action);

            var type = (FileType)reader.ReadBytes(1).Single();

            Assert.Equal(FileType.Directory, type);

            var size = BitConverter.ToInt32(reader.ReadBytes(4), 0);

            Assert.Equal(5, size);

            var filename = Encoding.GetEncoding("UTF-8").GetString(reader.ReadBytes(size));

            Assert.Equal("1.txt", filename);
        }