2008 Advent Calendar December 3rd

 

   1:      public class Advent3
   2:      {
   3:          [Fact]
   4:          public void TestRead()
   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:              file.Readable = false;
  14:   
  15:              // Should NOT be able to read file.
  16:              Assert.Throws<AccessViolationException>(() => { file.Read(); });
  17:   
  18:              // Clean up
  19:              file.Delete();
  20:          }
  21:      }

Using XUnit.net asserts to verify exceptions is much better than what we did yesterday. Now the test starts to be small enough to be understood easily. But I think there is a major problem with this test. We're not only testing that we cannot read an unreadable file, I'm also verifying that I can read a readable file. I think this should be split up into two different tests and that is what will happen next.