Exemple #1
0
        public void FileUnit_BadOperationBeforeGoodOperationsAndRollback_ReturnTrue()
        {
            // Arrange
            var unit = new FileUnit();

            // Плохая операция
            unit.Copy(this.DeleteFilePath, this.CopybleFilePath, true);
            unit.CreateFile(this.CreateFilePath);
            unit.Copy(this.CopyFilePath, this.CopybleFilePath, true);
            unit.AppendAllText(this.AppendFilePath, this.AddedContent);
            unit.WriteAllText(this.WriteFilePath, this.AddedContent);
            unit.Delete(this.DeleteFilePath);
            unit.Move(this.MoveFilePath, this.MovebleFilePath);
            unit.Copy(this.DeleteFilePath, this.CopybleFilePath, true);

            // Assert
            Assert.Throws <CommitException>(() => unit.Commit());
            Assert.IsFalse(File.Exists(this.CreateFilePath));
            Assert.IsTrue(!File.Exists(this.CopybleFilePath) && File.Exists(this.CopyFilePath));
            string textInAppendFile = File.ReadAllText(this.AppendFilePath);

            Assert.AreEqual(textInAppendFile, this.Content);
            string textInWriteFile = File.ReadAllText(this.WriteFilePath);

            Assert.AreEqual(textInWriteFile, this.Content);
            Assert.IsTrue(File.Exists(this.DeleteFilePath));
            Assert.IsTrue(!File.Exists(this.MovebleFilePath) && File.Exists(this.MoveFilePath));
        }
Exemple #2
0
        public void FileUnit_CreateFileInNonExistFolder_ReturnTrue()
        {
            // Arrange
            var unit = new FileUnit();

            unit.CreateFile(Path.Combine(PathToSaveDirectory, "UnrealFolder", "File.txt"));

            // Assert
            Assert.Throws <CommitException>(() => unit.Commit());
        }
Exemple #3
0
        public void FileUnit_CreateFile_ReturnTrue()
        {
            // Arrange
            var unit = new FileUnit();

            unit.CreateFile(this.CreateFilePath);

            // Act
            unit.Commit();

            // Assert
            Assert.IsTrue(File.Exists(this.CreateFilePath));
        }
Exemple #4
0
        public void FileUnit_Delete_ReturnFalse()
        {
            // Arrange
            var unit = new FileUnit();

            unit.Delete(this.DeleteFilePath);

            // Act
            unit.Commit();

            // Assert
            Assert.IsFalse(File.Exists(this.DeleteFilePath));
        }
Exemple #5
0
        public void FileUnit_Copy_ReturnTrue()
        {
            // Arrange
            var unit = new FileUnit();

            unit.Copy(this.CopyFilePath, this.CopybleFilePath, true);

            // Act
            unit.Commit();

            // Assert
            Assert.IsTrue(File.Exists(this.CopyFilePath) &&
                          File.Exists(this.CopybleFilePath));
        }
Exemple #6
0
        public void FileUnit_Move_ReturnTrue()
        {
            // Arrange
            var unit = new FileUnit();

            unit.Move(this.MoveFilePath, this.MovebleFilePath);

            // Act
            unit.Commit();

            // Assert
            Assert.IsTrue(File.Exists(this.MovebleFilePath) &&
                          !File.Exists(this.MoveFilePath));
        }
Exemple #7
0
        public void FileUnit_WriteAllText_ReturnTrue()
        {
            // Arrange
            var unit = new FileUnit();

            unit.WriteAllText(this.WriteFilePath, this.AddedContent);

            // Act
            unit.Commit();

            // Assert
            string textInWriteFile = File.ReadAllText(this.WriteFilePath);

            Assert.AreEqual(textInWriteFile, this.AddedContent);
        }
Exemple #8
0
        public void FileUnit_RollbackAppendAllText_ReturnTrue()
        {
            // Arrange
            var unit = new FileUnit();

            unit.AppendAllText(this.AppendFilePath, this.AddedContent);

            // Act
            unit.Commit();
            unit.Rollback();

            // Assert
            string textInAppendFile = File.ReadAllText(this.AppendFilePath);

            Assert.AreEqual(textInAppendFile, this.Content);
        }