# HG changeset patch # User IBBoard # Date 1278270668 0 # Node ID a82f164e26e3d823bb46b3733ea23fec418cfa3a # Parent d3191c44f163b64069fff9c08937ee6cde545c21 Re #290: Migrate to using key/keyref definitions instead of ID/IDREF type * Add test for invalid default stats ID diff -r d3191c44f163 -r a82f164e26e3 API/Factories/Xml/WarFoundryXmlSystemFactoryTest.cs --- a/API/Factories/Xml/WarFoundryXmlSystemFactoryTest.cs Sun Jul 04 15:05:00 2010 +0000 +++ b/API/Factories/Xml/WarFoundryXmlSystemFactoryTest.cs Sun Jul 04 19:11:08 2010 +0000 @@ -6,6 +6,8 @@ using System.IO; using IBBoard.WarFoundry.API.Objects; using NUnit.Framework.SyntaxHelpers; +using IBBoard.IO; +using System.Xml.Schema; namespace IBBoard.WarFoundry.API.Factories.Xml { @@ -36,6 +38,29 @@ Assert.That(system.StandardSystemStatsID, Is.EqualTo("defaultStats")); Assert.That(system.SystemStats, Has.Length(2)); } + + [Test()] + public void TestIncorrectDefaultStatsIDErrors() + { + TestFileValidationFailure("testdata/xml-system-factory/invalid-default-stats.systemx"); + } + + private void TestFileValidationFailure(string filePath) + { + FileInfo systemFile = new FileInfo(filePath); + + try + { + SingleXmlObjectLoader.LoadGameSystemFromXML(WarFoundryXmlFactory.GetFactory(), systemFile); + Assert.Fail("Excepted exception not thrown"); + } + catch (InvalidFileException ex) + { + Console.WriteLine(ex.Message); + Exception innerException = ex.InnerException; + Assert.That(innerException, Is.InstanceOfType(typeof(XmlSchemaValidationException))); + } + } } } diff -r d3191c44f163 -r a82f164e26e3 IBBoard.WarFoundry.API.Tests.csproj --- a/IBBoard.WarFoundry.API.Tests.csproj Sun Jul 04 15:05:00 2010 +0000 +++ b/IBBoard.WarFoundry.API.Tests.csproj Sun Jul 04 19:11:08 2010 +0000 @@ -198,6 +198,9 @@ PreserveNewest + + PreserveNewest + diff -r d3191c44f163 -r a82f164e26e3 testdata/xml-system-factory/invalid-default-stats.systemx --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testdata/xml-system-factory/invalid-default-stats.systemx Sun Jul 04 19:11:08 2010 +0000 @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + +