# HG changeset patch # User IBBoard # Date 1259614841 0 # Node ID f6fd30d3b81722997ee863e8a26da99d2070da08 # Parent 298786adcddc597c3d61673238a6c28dbfe75c90 Fixes #25: Enum parsing * Add tests for enum parsing class * Update XmlTools exception checks diff -r 298786adcddc -r f6fd30d3b817 EnumToolsTests.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EnumToolsTests.cs Mon Nov 30 21:00:41 2009 +0000 @@ -0,0 +1,45 @@ +// This file (EnumToolsTests.cs) is a part of the IBBoard.Tests project and is copyright 2009 IBBoard +// +// 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. + +using System; +using System.Xml; +using NUnit.Framework; + +namespace IBBoard +{ + [TestFixture()] + public class EnumToolsTests + { + private enum TestEnum + { + ALPHA + } + + [Test()] + public void TestParsingOfValidEnumString () + { + Assert.AreEqual(TestEnum.ALPHA, EnumTools.ParseEnum("ALPHA")); + } + + [Test()] + public void TestParsingOfValidEnumStringWithDifferentCase () + { + Assert.AreEqual(TestEnum.ALPHA, EnumTools.ParseEnum("Alpha")); + } + + [Test()] + [ExpectedException(typeof(ArgumentException), ExpectedMessage="The requested value 'Omega' was not found.")] + public void TestParsingValidEnumStringWithInvalidValueThrowsException () + { + EnumTools.ParseEnum("Omega"); + } + + [Test()] + [ExpectedException(typeof(ArgumentException), ExpectedMessage="The requested value 'Alpha' was not found.")] + public void TestCaseSensitiveParsingOfValidValueInInvalidCaseThrowsException () + { + EnumTools.ParseEnum("Alpha", false); + } + } +} diff -r 298786adcddc -r f6fd30d3b817 IBBoard.Tests.csproj --- a/IBBoard.Tests.csproj Mon Nov 30 20:47:22 2009 +0000 +++ b/IBBoard.Tests.csproj Mon Nov 30 21:00:41 2009 +0000 @@ -35,6 +35,7 @@ + diff -r 298786adcddc -r f6fd30d3b817 Xml/XmlToolsTests.cs --- a/Xml/XmlToolsTests.cs Mon Nov 30 20:47:22 2009 +0000 +++ b/Xml/XmlToolsTests.cs Mon Nov 30 21:00:41 2009 +0000 @@ -1,4 +1,4 @@ -// This file (AbstractLimitTest.cs) is a part of the IBBoard.Tests project and is copyright 2009 IBBoard +// This file (XmlToolsTests.cs) is a part of the IBBoard.Tests project and is copyright 2009 IBBoard // // 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. @@ -41,7 +41,7 @@ } [Test()] - [ExpectedException(typeof(FormatException), ExpectedMessage="Attribute 'enum' of sample with ID was not a valid TestEnum enum")] + [ExpectedException(typeof(FormatException), ExpectedMessage="Attribute 'enum' with value Omega for sample with ID '' was not a valid TestEnum enum")] public void TestParsingValidEnumStringWithInvalidValueThrowsException () { XmlElement elem = GetElement("Omega"); @@ -49,7 +49,7 @@ } [Test()] - [ExpectedException(typeof(FormatException), ExpectedMessage="Attribute 'enum' of sample with ID was not a valid TestEnum enum")] + [ExpectedException(typeof(FormatException), ExpectedMessage="Attribute 'enum' with value Alpha for sample with ID '' was not a valid TestEnum enum")] public void TestCaseSensitiveParsingOfValidValueInInvalidCaseThrowsException () { XmlElement elem = GetElement("Alpha");