From 03aa8ca0c5c4f0c0de5902dce36d626aa68fba2e Mon Sep 17 00:00:00 2001 From: Sutikshan Dubey Date: Wed, 20 Nov 2013 15:17:51 +0530 Subject: [PATCH] Added MockFile.AppendText Implementation with unit test. --- TestHelpers.Tests/MockFileTests.cs | 35 ++++++++++++++++++++++ TestHelpers.Tests/TestHelpers.Tests.csproj | 3 ++ TestingHelpers/MockFile.cs | 12 +++++++- 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/TestHelpers.Tests/MockFileTests.cs b/TestHelpers.Tests/MockFileTests.cs index 402f9acb6..3c6f581f7 100644 --- a/TestHelpers.Tests/MockFileTests.cs +++ b/TestHelpers.Tests/MockFileTests.cs @@ -1154,5 +1154,40 @@ public void MockFile_Open_OverwritesExistingFileOnCreate() Assert.That(stream.Length, Is.EqualTo(0)); Assert.That(file.Contents.Length, Is.EqualTo(0)); } + [Test] + public void MockFile_AppendText_AppendTextToanExistingFile() + { + const string filepath = @"c:\something\does\exist.txt"; + var filesystem = new MockFileSystem(new Dictionary + { + { filepath, new MockFileData("I'm here. ") } + }); + + var stream = filesystem.File.AppendText(filepath); + + stream.Write("Me too!"); + stream.Flush(); + stream.Close(); + + var file = filesystem.GetFile(filepath); + Assert.That(file.TextContents, Is.EqualTo("I'm here. Me too!")); + } + + [Test] + public void MockFile_AppendText_CreatesNewFileForAppendToNonExistingFile() + { + const string filepath = @"c:\something\doesnt\exist.txt"; + var filesystem = new MockFileSystem(new Dictionary()); + + var stream = filesystem.File.AppendText(filepath); + + stream.Write("New too!"); + stream.Flush(); + stream.Close(); + + var file = filesystem.GetFile(filepath); + Assert.That(file.TextContents, Is.EqualTo("New too!")); + Assert.That(filesystem.FileExists(filepath)); + } } } \ No newline at end of file diff --git a/TestHelpers.Tests/TestHelpers.Tests.csproj b/TestHelpers.Tests/TestHelpers.Tests.csproj index 3e28fe4f7..d4e9bff74 100644 --- a/TestHelpers.Tests/TestHelpers.Tests.csproj +++ b/TestHelpers.Tests/TestHelpers.Tests.csproj @@ -117,6 +117,9 @@ + + +