Mercurial > repos > IBBoard.Tests
view Xml/XmlToolsTests.cs @ 46:179c4cf6aecf
Re #49: XmlResourceResolver fails with HTML DTD on Windows
* Add test for resolver using standard URIs
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 31 Aug 2012 20:39:29 +0100 |
parents | f6fd30d3b817 |
children |
line wrap: on
line source
// 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. using System; using System.Xml; using NUnit.Framework; namespace IBBoard.Xml { [TestFixture()] public class XmlToolsTests { private enum TestEnum { ALPHA } [Test()] public void TestParsingOfValidEnumString () { XmlElement elem = GetElement("ALPHA"); Assert.AreEqual(TestEnum.ALPHA, XmlTools.GetEnumValueFromAttribute<TestEnum>(elem, "enum")); } static XmlElement GetElement(string enumValue) { XmlDocument doc = new XmlDocument(); XmlElement elem = doc.CreateElement ("sample"); XmlAttribute attrib = doc.CreateAttribute ("enum"); attrib.Value = enumValue; elem.Attributes.Append (attrib); return elem; } [Test()] public void TestParsingOfValidEnumStringWithDifferentCase () { XmlElement elem = GetElement("ALPHA"); Assert.AreEqual(TestEnum.ALPHA, XmlTools.GetEnumValueFromAttribute<TestEnum>(elem, "enum")); } [Test()] [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"); XmlTools.GetEnumValueFromAttribute<TestEnum>(elem, "enum"); } [Test()] [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"); XmlTools.GetEnumValueFromAttribute<TestEnum>(elem, "enum", false); } } }