Mercurial > repos > IBBoard.WarFoundry.API.Tests
view API/Factories/Xml/WarFoundryXmlFactoryTests.cs @ 89:90dee8d781ee
Re #253: Allow multiple data files in a single zip
* Add and use loader that just listens to events to capture new objects and does nothing else
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 27 Feb 2011 19:44:08 +0000 |
parents | 5c04db41d643 |
children | 5d19fee8e9dc |
line wrap: on
line source
using System; using NUnit.Framework; using System.IO; using System.Collections.Generic; using IBBoard.WarFoundry.API.Objects; using NUnit.Framework.SyntaxHelpers; namespace IBBoard.WarFoundry.API.Factories.Xml { [TestFixture()] public class WarFoundryXmlFactoryTests { [Test()] public void TestFactoryHandlesMultipleFilesWithOldNamesInOneSystemZip() { EventListeningWarFoundryLoader loader = new EventListeningWarFoundryLoader (); WarFoundryLoader.SetDefault(loader); WarFoundryXmlFactory factory = WarFoundryXmlFactory.GetFactory (); loader.RegisterFactory(factory); ICollection<IWarFoundryObject> objs = factory.CreateObjectsFromFile(new FileInfo("testdata/multifile-zips/Test.system")); Assert.That(objs, Has.Count(2)); int raceCount = 0; int systemCount = 0; foreach (IWarFoundryObject obj in objs) { if (obj is Race) { raceCount++; } else if (obj is GameSystem) { systemCount++; } } Assert.That(raceCount, Is.EqualTo(1)); Assert.That(systemCount, Is.EqualTo(1)); } } }