annotate EnumToolsTests.cs @ 32:4d9c0cc7c4a3

* Add app.config to try to make VS.Net happy no-open-ticket
author IBBoard <dev@ibboard.co.uk>
date Wed, 26 Jan 2011 20:23:19 +0000
parents f6fd30d3b817
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 // This file (EnumToolsTests.cs) is a part of the IBBoard.Tests project and is copyright 2009 IBBoard
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 //
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 // The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license.
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using System;
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using System.Xml;
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 using NUnit.Framework;
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 namespace IBBoard
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 {
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 [TestFixture()]
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 public class EnumToolsTests
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 {
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 private enum TestEnum
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 {
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 ALPHA
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 }
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19 [Test()]
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 public void TestParsingOfValidEnumString ()
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 {
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 Assert.AreEqual(TestEnum.ALPHA, EnumTools.ParseEnum<TestEnum>("ALPHA"));
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 }
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 [Test()]
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 public void TestParsingOfValidEnumStringWithDifferentCase ()
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27 {
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28 Assert.AreEqual(TestEnum.ALPHA, EnumTools.ParseEnum<TestEnum>("Alpha"));
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
29 }
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31 [Test()]
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 [ExpectedException(typeof(ArgumentException), ExpectedMessage="The requested value 'Omega' was not found.")]
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 public void TestParsingValidEnumStringWithInvalidValueThrowsException ()
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 {
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 EnumTools.ParseEnum<TestEnum>("Omega");
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36 }
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 [Test()]
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
39 [ExpectedException(typeof(ArgumentException), ExpectedMessage="The requested value 'Alpha' was not found.")]
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
40 public void TestCaseSensitiveParsingOfValidValueInInvalidCaseThrowsException ()
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 {
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42 EnumTools.ParseEnum<TestEnum>("Alpha", false);
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 }
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 }
f6fd30d3b817 Fixes #25: Enum parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
45 }