changeset 0:faf976fe57df

Initial commit of WarFoundry code
author IBBoard <dev@ibboard.co.uk>
date Fri, 19 Dec 2008 15:57:51 +0000
parents
children b93d6eedc0bb
files IBBoard.WarFoundry.API.Tests.mdp IBBoard.WarFoundry.API.Tests.pidb MockObjects/FixedFileWarFoundryLoader.cs MockObjects/MockFactory.cs MockObjects/MockRaceZipFile.cs MockObjects/MockSystemZipFile.cs WarFoundryFactoryFactoryTest.cs WarFoundryFactoryTest.cs WarFoundryLoaderTest.cs libs/ICSharpCode.SharpZipLib.dll test-results/IBBoard.WarFoundry.API.Tests.mdp-Debug-2008-06-21.xml test-results/IBBoard.WarFoundry.API.Tests.mdp.test-cache testdata/Race.zip testdata/System.zip
diffstat 14 files changed, 2500 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IBBoard.WarFoundry.API.Tests.mdp	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,36 @@
+<Project name="IBBoard.WarFoundry.API.Tests" fileversion="2.0" DefaultNamespace="IBBoard.WarFoundry.API" language="C#" clr-version="Net_2_0" ctype="DotNetProject">
+  <Configurations active="Debug">
+    <Configuration name="Debug" ctype="DotNetProjectConfiguration">
+      <Output directory="bin/Debug" assemblyKeyFile="." assembly="IBBoard.WarFoundry.API.Tests" />
+      <Build debugmode="True" target="Library" />
+      <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
+      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" definesymbols="DEBUG" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
+    </Configuration>
+    <Configuration name="Release" ctype="DotNetProjectConfiguration">
+      <Output directory="bin/Release" assembly="IBBoard.WarFoundry.API.Tests" />
+      <Build debugmode="False" target="Library" />
+      <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
+      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
+    </Configuration>
+  </Configurations>
+  <Contents>
+    <File name="MockObjects/MockFactory.cs" subtype="Code" buildaction="Compile" />
+    <File name="WarFoundryFactoryFactoryTest.cs" subtype="Code" buildaction="Compile" />
+    <File name="WarFoundryFactoryTest.cs" subtype="Code" buildaction="Compile" />
+    <File name="WarFoundryLoaderTest.cs" subtype="Code" buildaction="Compile" />
+    <File name="libs" subtype="Directory" buildaction="Compile" />
+    <File name="libs/ICSharpCode.SharpZipLib.dll" subtype="Code" buildaction="Nothing" />
+    <File name="MockObjects/MockSystemZipFile.cs" subtype="Code" buildaction="Compile" />
+    <File name="MockObjects/FixedFileWarFoundryLoader.cs" subtype="Code" buildaction="Compile" />
+    <File name="MockObjects/MockRaceZipFile.cs" subtype="Code" buildaction="Compile" />
+    <File name="testdata" subtype="Directory" buildaction="Compile" />
+    <File name="testdata/Race.zip" subtype="Code" buildaction="Nothing" />
+    <File name="testdata/System.zip" subtype="Code" buildaction="Nothing" />
+  </Contents>
+  <References>
+    <ProjectReference type="Gac" localcopy="True" refto="nunit.framework, Version=2.2.9.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
+    <ProjectReference type="Project" localcopy="True" refto="IBBoard.WarFoundry.API" />
+    <ProjectReference type="Assembly" localcopy="True" refto="libs/ICSharpCode.SharpZipLib.dll" />
+  </References>
+  <Deployment.LinuxDeployData generateScript="False" />
+</Project>
\ No newline at end of file
Binary file IBBoard.WarFoundry.API.Tests.pidb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MockObjects/FixedFileWarFoundryLoader.cs	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,41 @@
+// FixedFileWarFoundryLoader.cs
+//
+//  Copyright (C) 2008 IBBoard
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+
+using System;
+using System.IO;
+using ICSharpCode.SharpZipLib.Zip;
+
+namespace IBBoard.WarFoundry.API
+{
+	public class FixedFileWarFoundryLoader : WarFoundryLoader
+	{
+		private ZipFile zipFile;
+		
+		public FixedFileWarFoundryLoader(ZipFile zip)
+		{
+			zipFile = zip;
+		}
+		
+		protected override ZipFile MakeZipFile (FileInfo FileInfo)
+		{
+			return zipFile;
+		}
+
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MockObjects/MockFactory.cs	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,83 @@
+// MockFactory.cs
+//
+//  Copyright (C) 2008 IBBoard
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+
+using System;
+using System.IO;
+using IBBoard.WarFoundry.API.Objects;
+using ICSharpCode.SharpZipLib.Zip;
+
+namespace IBBoard.WarFoundry.API.Factories
+{
+	public class MockFactory : AbstractNativeWarFoundryFactory
+	{		
+		public MockFactory()
+		{
+		}
+		
+		protected override bool CheckCanFindArmyFileContent(ZipFile file)
+		{
+			return true;
+		}
+		
+		protected override bool CheckCanFindRaceFileContent(ZipFile file)
+		{
+			return true;
+		}
+		
+		protected override bool CheckCanFindSystemFileContent(ZipFile file)
+		{
+			return true;
+		}
+
+		public override void CompleteLoading (IWarFoundryStagedLoadObject obj)
+		{
+			//Do nothing
+		}
+		
+		protected override Army CreateArmyFromStream (ZipFile file, Stream dataStream)
+		{
+			throw new NotImplementedException ();
+		}
+		
+		protected override GameSystem CreateGameSystemFromStream (ZipFile file, Stream dataStream)
+		{
+			throw new NotImplementedException ();
+		}
+		
+		protected override Race CreateRaceFromStream (ZipFile file, Stream dataStream)
+		{
+			throw new NotImplementedException ();
+		}
+		
+		protected override Stream GetArmyDataStream (ZipFile file)
+		{
+			throw new NotImplementedException ();
+		}
+		
+		protected override Stream GetGameSystemDataStream (ZipFile file)
+		{
+			throw new NotImplementedException ();
+		}
+
+		protected override Stream GetRaceDataStream (ZipFile file)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MockObjects/MockRaceZipFile.cs	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,32 @@
+// MockRaceZipFile.cs
+//
+//  Copyright (C) 2008 IBBoard
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+//
+
+using System;
+using ICSharpCode.SharpZipLib.Zip;
+
+namespace IBBoard.WarFoundry.API
+{	
+	public class MockRaceZipFile : ZipFile
+	{		
+		public MockRaceZipFile() : base("../../testdata/Race.zip")
+		{
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MockObjects/MockSystemZipFile.cs	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,31 @@
+// MockSystemZipFile.cs
+//
+//  Copyright (C) 2008 IBBoard
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+
+using System;
+using ICSharpCode.SharpZipLib.Zip;
+
+namespace IBBoard.WarFoundry.API
+{
+	public class MockSystemZipFile : ZipFile
+	{
+		public MockSystemZipFile() : base("../../testdata/System.zip")
+		{
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WarFoundryFactoryFactoryTest.cs	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,119 @@
+// AbstractNativeWarFoundryFactoryTest.cs
+//
+//  Copyright (C) 2007 IBBoard
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License version 2.1 of the License as published by the Free
+// Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+//
+//
+
+using System;
+using NUnit.Framework;
+using IBBoard;
+using IBBoard.WarFoundry.API.Objects;
+using IBBoard.WarFoundry.API.Factories.Xml;
+
+namespace IBBoard.WarFoundry.API.Factories
+{	
+	[TestFixture()]
+	public class AbstractNativeWarFoundryFactoryTest
+	{		
+		[Test()]
+		public void TestFactoryReturnsCorrectClassForDefault()
+		{		
+			WarFoundryFactoryFactory.GetFactoryFactory().DefaultType = GetDefaultFactoryClass();
+			Assert.AreEqual(GetDefaultFactoryClass(), WarFoundryFactoryFactory.GetFactoryFactory().GetFactory().GetType(), "AbstractNativeWarFoundryFactory returned incorrect default factory type");
+		}
+		
+		[Test()]
+		[Ignore("Only one class of factory exists in current implementation")]
+		public void TestFactoryReturnsCorrectClassForAlteredDefault()
+		{
+			WarFoundryFactoryFactory.GetFactoryFactory().DefaultType = GetDefaultFactoryClass();
+			WarFoundryFactoryFactory.GetFactoryFactory().DefaultType = GetOtherFactoryClass();
+			Assert.AreEqual(GetOtherFactoryClass(), WarFoundryFactoryFactory.GetFactoryFactory().GetFactory().GetType(), "AbstractNativeWarFoundryFactory returned incorrect default factory type for updated factory");
+		}
+		
+		[Test()]
+		public void TestFactoryReturnsCorrectClassForXmlFactory()
+		{
+			Assert.AreEqual(WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetFactoryClass()).GetType(), GetFactoryClass(), "AbstractNativeWarFoundryFactory failed to return correct type when passed a valid type");
+		}
+		
+		[Test()]
+		public void TestFactoryReturnsEqualFactoryForMatchingClasses()
+		{
+			IWarFoundryFactory first = WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetFactoryClass());
+			IWarFoundryFactory second = WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetFactoryClass());
+			Assert.AreEqual(first, second, "AbstractNativeWarFoundryFactory failed to return equal factory for matching string");
+		}	
+		
+		[Test()]
+		public void TestFactoryReturnsSameFactoryForMatchingClasses()
+		{
+			IWarFoundryFactory first = WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetFactoryClass());
+			IWarFoundryFactory second = WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetFactoryClass());
+			Assert.IsTrue(first == second, "AbstractNativeWarFoundryFactory failed to return cached factory");
+		}
+		
+		[Test()]
+		//[ExpectedException(typeof(ArgumentException), ExpectedMessage="was not a subtype", MatchType=MessageMatch.Contains )]
+		[ExpectedException(typeof(ArgumentException))]
+		public void TestFactoryThrowsArgumentExceptionForInvalidClass()
+		{
+			WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetInvalidFactoryClass());
+			Assert.Fail("Exceptect exception was not thrown");
+		}
+		
+		[Test()]
+		//[ExpectedException(typeof(ArgumentException), ExpectedMessage="was not a subtype", MatchType=MessageMatch.Contains )]
+		[ExpectedException(typeof(ArgumentException))]
+		public void TestFactoryThrowsArgumentExceptionForAbstractClass()
+		{
+			WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(typeof(AbstractNativeWarFoundryFactory));
+			Assert.Fail("Exceptect exception was not thrown");
+		}
+		
+		[Test()]
+		[Ignore("Only one class of factory exists in current implementation")]
+		public void TestFactoryReturnsEqualFactoriesForSameClassAfterDifferentClasses()
+		{
+			IWarFoundryFactory first = WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetFactoryClass());
+			WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetOtherFactoryClass());
+			IWarFoundryFactory second = WarFoundryFactoryFactory.GetFactoryFactory().GetFactory(GetFactoryClass());
+			Assert.AreEqual(first, second, "AbstractNativeWarFoundryFactory did not return the same factory after creating a new factory of a different class");
+		}
+				
+		private Type GetDefaultFactoryClass()
+		{
+			return typeof(WarFoundryXmlFactory);
+		}
+		
+		private Type GetInvalidFactoryClass()
+		{
+			return typeof(String);
+		}
+		
+		private Type GetFactoryClass()
+		{
+			return typeof(WarFoundryXmlFactory);
+		}
+		
+		private Type GetOtherFactoryClass()
+		{
+			//TODO: Fill in when we have a second class
+			return null;
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WarFoundryFactoryTest.cs	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,30 @@
+// AbstractNativeWarFoundryFactoryTest.cs
+//
+//  Copyright (C) 2007 IBBoard
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License version 2.1 of the License as published by the Free
+// Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+//
+//
+
+using System;
+using NUnit.Framework;
+
+namespace IBBoard.WarFoundry.API
+{
+	[TestFixture()]
+	public class AbstractNativeWarFoundryFactoryTest
+	{
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WarFoundryLoaderTest.cs	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,72 @@
+// WarFoundryLoaderTest.cs
+//
+//  Copyright (C) 2008 IBBoard
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+//
+
+using System;
+using System.IO;
+using NUnit.Framework;
+using IBBoard.WarFoundry.API.Objects;
+
+namespace IBBoard.WarFoundry.API.Factories
+{
+	[TestFixture()]
+	public class WarFoundryLoaderTest
+	{
+		private AbstractNativeWarFoundryFactory factory;
+				
+		[Test()]
+		public void TestLoadWithoutFactoriesCompletesWithoutError()
+		{
+			WarFoundryLoader.GetDefault().LoadFiles();
+		}
+		
+		[Test()]
+		public void TestLoadingSystemCompletesWithoutError()
+		{
+			WarFoundryLoader loader = GetSystemLoader();
+			DirectoryInfo dir = new DirectoryInfo("/");
+			loader.RegisterFactory(GetFactory());
+			loader.AddLoadDirectory(dir);
+			loader.LoadFiles();
+			Assert.Greater(loader.GetGameSystems().Length, 0);
+			loader.RemoveLoadDirectory(dir);
+			loader.UnregisterFactory(GetFactory());
+		}
+				
+		private AbstractNativeWarFoundryFactory GetFactory()
+		{
+			if (factory == null)
+			{
+				factory = new MockFactory();
+			}
+			
+			return factory;
+		}
+		
+		private WarFoundryLoader GetSystemLoader()
+		{
+			return new FixedFileWarFoundryLoader(new MockSystemZipFile());
+		}
+		
+		private WarFoundryLoader GetRaceLoader()
+		{
+			return new FixedFileWarFoundryLoader(new MockRaceZipFile());
+		}
+	}
+}
Binary file libs/ICSharpCode.SharpZipLib.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-results/IBBoard.WarFoundry.API.Tests.mdp-Debug-2008-06-21.xml	Fri Dec 19 15:57:51 2008 +0000
@@ -0,0 +1,2056 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TestRecord xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Results>
+    <UnitTestResult>
+      <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+      <Status>Success Ignored</Status>
+      <TotalFailures>0</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+      <Status>Success Ignored</Status>
+      <TotalFailures>0</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+      <Status>Success Ignored</Status>
+      <TotalFailures>0</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+    <UnitTestResult>
+      <TestDate>2008-06-21T19:36:17</TestDate>
+      <Status>Success Failure Ignored</Status>
+      <TotalFailures>1</TotalFailures>
+      <TotalSuccess>7</TotalSuccess>
+      <TotalIgnored>2</TotalIgnored>
+      <Time />
+    </UnitTestResult>
+  </Results>
+  <Tests>
+    <TestRecord Name="IBBoard">
+      <Results>
+        <UnitTestResult>
+          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+          <Status>Success Ignored</Status>
+          <TotalFailures>0</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+          <Status>Success Ignored</Status>
+          <TotalFailures>0</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+          <Status>Success Ignored</Status>
+          <TotalFailures>0</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+        <UnitTestResult>
+          <TestDate>2008-06-21T19:36:17</TestDate>
+          <Status>Success Failure Ignored</Status>
+          <TotalFailures>1</TotalFailures>
+          <TotalSuccess>7</TotalSuccess>
+          <TotalIgnored>2</TotalIgnored>
+          <Time />
+        </UnitTestResult>
+      </Results>
+      <Tests>
+        <TestRecord Name="WarFoundry">
+          <Results>
+            <UnitTestResult>
+              <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+              <Status>Success Ignored</Status>
+              <TotalFailures>0</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+              <Status>Success Ignored</Status>
+              <TotalFailures>0</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+              <Status>Success Ignored</Status>
+              <TotalFailures>0</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+            <UnitTestResult>
+              <TestDate>2008-06-21T19:36:17</TestDate>
+              <Status>Success Failure Ignored</Status>
+              <TotalFailures>1</TotalFailures>
+              <TotalSuccess>7</TotalSuccess>
+              <TotalIgnored>2</TotalIgnored>
+              <Time />
+            </UnitTestResult>
+          </Results>
+          <Tests>
+            <TestRecord Name="API">
+              <Results>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                  <Status>Success Ignored</Status>
+                  <TotalFailures>0</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                  <Status>Success Ignored</Status>
+                  <TotalFailures>0</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                  <Status>Success Ignored</Status>
+                  <TotalFailures>0</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+                <UnitTestResult>
+                  <TestDate>2008-06-21T19:36:17</TestDate>
+                  <Status>Success Failure Ignored</Status>
+                  <TotalFailures>1</TotalFailures>
+                  <TotalSuccess>7</TotalSuccess>
+                  <TotalIgnored>2</TotalIgnored>
+                  <Time />
+                </UnitTestResult>
+              </Results>
+              <Tests>
+                <TestRecord Name="WarFoundryFactoryFactoryTest">
+                  <Results>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T19:36:17</TestDate>
+                      <Status>Success Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>6</TotalSuccess>
+                      <TotalIgnored>2</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                  </Results>
+                  <Tests>
+                    <TestRecord Name="TestFactoryReturnsCorrectClassForDefault">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestFactoryReturnsCorrectClassForAlteredDefault">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestFactoryReturnsCorrectClassForXmlFactory">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestFactoryReturnsEqualFactoryForMatchingClasses">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestFactoryReturnsSameFactoryForMatchingClasses">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestFactoryThrowsArgumentExceptionForInvalidClass">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestFactoryThrowsArgumentExceptionForAbstractClass">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestFactoryReturnsEqualFactoriesForSameClassAfterDifferentClasses">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Ignored</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>1</TotalIgnored>
+                          <Time />
+                          <Message>Only one class of factory exists in current implementation</Message>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                  </Tests>
+                </TestRecord>
+                <TestRecord Name="WarFoundryFactoryTest">
+                  <Results>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T19:36:17</TestDate>
+                      <Status>Ignored</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>0</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                  </Results>
+                  <Tests />
+                </TestRecord>
+                <TestRecord Name="WarFoundryLoaderTest">
+                  <Results>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                      <Status>Success</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                      <Status>Success</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                      <Status>Success</Status>
+                      <TotalFailures>0</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                    <UnitTestResult>
+                      <TestDate>2008-06-21T19:36:17</TestDate>
+                      <Status>Success Failure</Status>
+                      <TotalFailures>1</TotalFailures>
+                      <TotalSuccess>1</TotalSuccess>
+                      <TotalIgnored>0</TotalIgnored>
+                      <Time />
+                    </UnitTestResult>
+                  </Results>
+                  <Tests>
+                    <TestRecord Name="TestLoadWithoutFactoriesCompletesOkay">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T09:20:12+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T10:21:38+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:46:46+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestLoadWithoutFactoriesCompletesWithoutError">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Success</Status>
+                          <TotalFailures>0</TotalFailures>
+                          <TotalSuccess>1</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                    <TestRecord Name="TestLoadingSystemCompletesWithoutError">
+                      <Results>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T15:55:45+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.IO.FileNotFoundException : Could not find file "/home/ibboard/eclipse/WarFoundry/IBBoard.WarFoundry.API.Tests/bin/Debug/WarFoundry_System".</Message>
+                          <StackTrace>  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] 
+  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] 
+  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+  at System.IO.File.OpenRead (System.String path) [0x00000] 
+  at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor (System.String name) [0x00000] 
+  at IBBoard.WarFoundry.API.MockSystemZipFile..ctor () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.GetSystemLoader () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:02:47+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.IO.DirectoryNotFoundException : Could not find a part of the path "/home/ibboard/eclipse/WarFoundry/IBBoard.WarFoundry.API.Tests/bin/Debug/testdata/system.zip".</Message>
+                          <StackTrace>  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] 
+  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] 
+  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+  at System.IO.File.OpenRead (System.String path) [0x00000] 
+  at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor (System.String name) [0x00000] 
+  at IBBoard.WarFoundry.API.MockSystemZipFile..ctor () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.GetSystemLoader () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:04:56+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.IO.DirectoryNotFoundException : Could not find a part of the path "/home/ibboard/eclipse/WarFoundry/IBBoard.WarFoundry.API.Tests/bin/Debug/testdata/system.zip".</Message>
+                          <StackTrace>  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] 
+  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] 
+  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+  at System.IO.File.OpenRead (System.String path) [0x00000] 
+  at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor (System.String name) [0x00000] 
+  at IBBoard.WarFoundry.API.MockSystemZipFile..ctor () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.GetSystemLoader () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:18+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.IO.DirectoryNotFoundException : Could not find a part of the path "/home/ibboard/eclipse/WarFoundry/IBBoard.WarFoundry.API.Tests/bin/Debug/testdata/system.zip".</Message>
+                          <StackTrace>  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] 
+  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] 
+  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+  at System.IO.File.OpenRead (System.String path) [0x00000] 
+  at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor (System.String name) [0x00000] 
+  at IBBoard.WarFoundry.API.MockSystemZipFile..ctor () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.GetSystemLoader () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:34+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.IO.FileNotFoundException : Could not find file "/home/ibboard/eclipse/WarFoundry/IBBoard.WarFoundry.API.Tests/testdata/system.zip".</Message>
+                          <StackTrace>  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] 
+  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] 
+  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+  at System.IO.File.OpenRead (System.String path) [0x00000] 
+  at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor (System.String name) [0x00000] 
+  at IBBoard.WarFoundry.API.MockSystemZipFile..ctor () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.GetSystemLoader () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:05:57+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.IO.FileNotFoundException : Could not find file "/home/ibboard/eclipse/WarFoundry/IBBoard.WarFoundry.API.Tests/testdata/system.zip".</Message>
+                          <StackTrace>  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] 
+  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] 
+  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
+  at System.IO.File.OpenRead (System.String path) [0x00000] 
+  at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor (System.String name) [0x00000] 
+  at IBBoard.WarFoundry.API.MockSystemZipFile..ctor () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.GetSystemLoader () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:06:05+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>ICSharpCode.SharpZipLib.Zip.ZipException : Cannot update until BeginUpdate has been called</Message>
+                          <StackTrace>  at ICSharpCode.SharpZipLib.Zip.ZipFile.CheckUpdating () [0x00000] 
+  at ICSharpCode.SharpZipLib.Zip.ZipFile.SetComment (System.String comment) [0x00000] 
+  at IBBoard.WarFoundry.API.MockSystemZipFile..ctor () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.GetSystemLoader () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T16:46:33+01:00</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.InvalidOperationException : Translation class has not been initialised</Message>
+                          <StackTrace>  at IBBoard.Lang.Translation.checkInitialisation () [0x00000] 
+  at IBBoard.Lang.Translation.GetTranslation (System.String translationID, System.String defaultTranslation, System.Object[] replacements) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryFactory.CreateGameSystemFromFile (ICSharpCode.SharpZipLib.Zip.ZipFile file) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoader.LoadSystem (ICSharpCode.SharpZipLib.Zip.ZipFile file, IBBoard.WarFoundry.API.WarFoundryFactory factory) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoader.LoadFile (System.IO.FileInfo file) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoader.LoadFiles () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                        <UnitTestResult>
+                          <TestDate>2008-06-21T19:36:17</TestDate>
+                          <Status>Failure</Status>
+                          <TotalFailures>1</TotalFailures>
+                          <TotalSuccess>0</TotalSuccess>
+                          <TotalIgnored>0</TotalIgnored>
+                          <Time />
+                          <Message>System.NotImplementedException : The requested feature is not implemented.</Message>
+                          <StackTrace>  at IBBoard.WarFoundry.API.MockFactory.GetGameSystemDataStream (ICSharpCode.SharpZipLib.Zip.ZipFile file) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryFactory.CreateGameSystemFromFile (ICSharpCode.SharpZipLib.Zip.ZipFile file) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoader.LoadSystem (ICSharpCode.SharpZipLib.Zip.ZipFile file, IBBoard.WarFoundry.API.WarFoundryFactory factory) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoader.LoadFile (System.IO.FileInfo file) [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoader.LoadFiles () [0x00000] 
+  at IBBoard.WarFoundry.API.WarFoundryLoaderTest.TestLoadingSystemCompletesWithoutError () [0x00000] 
+  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
+  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] </StackTrace>
+                          <ConsoleOutput />
+                          <ConsoleError />
+                        </UnitTestResult>
+                      </Results>
+                      <Tests />
+                    </TestRecord>
+                  </Tests>
+                </TestRecord>
+              </Tests>
+            </TestRecord>
+          </Tests>
+        </TestRecord>
+      </Tests>
+    </TestRecord>
+  </Tests>
+</TestRecord>
\ No newline at end of file
Binary file test-results/IBBoard.WarFoundry.API.Tests.mdp.test-cache has changed
Binary file testdata/Race.zip has changed
Binary file testdata/System.zip has changed