Mercurial > repos > IBBoard.Tests
changeset 13:f6fd30d3b817
Fixes #25: Enum parsing
* Add tests for enum parsing class
* Update XmlTools exception checks
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 30 Nov 2009 21:00:41 +0000 |
parents | 298786adcddc |
children | 15cf2fe2a627 |
files | EnumToolsTests.cs IBBoard.Tests.csproj Xml/XmlToolsTests.cs |
diffstat | 3 files changed, 49 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- /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<TestEnum>("ALPHA")); + } + + [Test()] + public void TestParsingOfValidEnumStringWithDifferentCase () + { + Assert.AreEqual(TestEnum.ALPHA, EnumTools.ParseEnum<TestEnum>("Alpha")); + } + + [Test()] + [ExpectedException(typeof(ArgumentException), ExpectedMessage="The requested value 'Omega' was not found.")] + public void TestParsingValidEnumStringWithInvalidValueThrowsException () + { + EnumTools.ParseEnum<TestEnum>("Omega"); + } + + [Test()] + [ExpectedException(typeof(ArgumentException), ExpectedMessage="The requested value 'Alpha' was not found.")] + public void TestCaseSensitiveParsingOfValidValueInInvalidCaseThrowsException () + { + EnumTools.ParseEnum<TestEnum>("Alpha", false); + } + } +}
--- 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 @@ <Compile Include="Limits\AbsoluteNumericLimitTest.cs" /> <Compile Include="Limits\UnlimitedLimitTest.cs" /> <Compile Include="Xml\XmlToolsTests.cs" /> + <Compile Include="EnumToolsTests.cs" /> </ItemGroup> <ItemGroup> <Reference Include="System" />
--- 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");