2008 Advent Calendar December 4th

 

   1:      public class Advent4
   2:      {
   3:          [Fact]
   4:          public void TestReadOK()
   5:          {
   6:              // Create a test file
   7:              IFileUtil file = new FileUtil("SomeFile.txt");
   8:              file.Create("CONTENT");
   9:   
  10:              // Should be able to read file
  11:              Assert.DoesNotThrow(() => { file.Read(); });
  12:   
  13:              // Clean up
  14:              file.Delete();
  15:          }
  16:   
  17:          [Fact]
  18:          public void TestReadFails()
  19:          {
  20:              // Create a test file
  21:              IFileUtil file = new FileUtil("SomeFile.txt");
  22:              file.Create("CONTENT");
  23:   
  24:              file.Readable = false;
  25:   
  26:              // Should NOT be able to read file.
  27:              Assert.Throws<AccessViolationException>(() => { file.Read(); });
  28:   
  29:              // Clean up
  30:              file.Delete();
  31:          }
  32:      }

Now that the initial test has been split up into two tests. One testing reading a readable file and one testing an unreadable file. Now I got some redundant code I wanna get rid of. The first thing is the clean up code. It is not run if the test fails and that is probably a bad thing. So next I'll fix that.