1: public class Advent8 : IDisposable 2: { 3: private IFileUtil m_file; 4:   5: private void SetUp() 6: { 7: m_file = new FileUtil("SomeFile.txt"); 8: m_file.Create("CONTENT"); 9: } 10:   11: public void Dispose() 12: { 13: m_file.Delete(); 14: } 15:   16: [Fact] 17: public void TestReadOK() 18: { 19: SetUp(); 20: Assert.DoesNotThrow(() => { m_file.Read(); }); 21: } 22:   23: [Fact] 24: public void TestReadFails() 25: { 26: SetUp(); 27: m_file.Readable = false; 28: Assert.Throws<AccessViolationException>(() => { m_file.Read(); }); 29: } 30: }

Unfortunately I've reintroduced the fact that the actual content is not verified for TestReadOK. And using a constant isn't something I want to do again. But since I'm calling the setup method explicitly I can modify it to accept the desired content. Wouldn't that be neat?