2008 Advent Calendar December 2nd
1: public class Advent2
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: try
12: {
13: file.Read();
14: }
15: catch (Exception)
16: {
17: throw new AssertException("Unexpected exception thrown");
18: }
19:
20: file.Readable = false;
21:
22: // Should NOT be able to read file.
23: try
24: {
25: file.Read();
26: throw new AssertException("No exception thrown");
27: }
28: catch (AccessViolationException)
29: {
30: }
31: catch (Exception)
32: {
33: throw new AssertException("Unexpected exception thrown");
34: }
35:
36: // Clean up
37: file.Delete();
38: }
39: }
Now I've added a handler for unexpected exceptions but this is still a pretty cumbersome way to write tests verifying that exceptions are thrown or not correctly. Especially since Xunit.net provides us with a really simple way to handle this for us. That is what will happen next.