Mercurial > repos > IBBoard.WarFoundry.API.Tests
view API/Factories/Mock/MockRaceAndSystemFactory.cs @ 229:6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
* Test loading from resources
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 11 Jul 2012 20:33:11 +0100 |
parents | |
children | d6883a522c70 |
line wrap: on
line source
// This file (MockSystemFactory.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2008, 2009 IBBoard. // // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. using System; using System.IO; using IBBoard.WarFoundry.API.Factories; using IBBoard.WarFoundry.API.Objects; using ICSharpCode.SharpZipLib.Zip; using System.Collections.Generic; namespace IBBoard.WarFoundry.API.Factories.Mock { public class MockRaceAndSystemFactory : AbstractNativeWarFoundryFactory { private static MockRaceAndSystemFactory mock; private GameSystem gameSystem; public static MockRaceAndSystemFactory GetMockFactory() { if (mock == null) { mock = new MockRaceAndSystemFactory(); } return mock; } public MockRaceAndSystemFactory() { gameSystem = new GameSystem("test", "Test System", this); } protected override bool CheckCanFindArmyFileContent(ZipFile file) { return false; } protected override bool CheckCanFindRaceFileContent(ZipFile file) { return true; } protected override bool CheckCanFindSystemFileContent(ZipFile file) { return true; } protected override Army CreateArmyFromStream(ZipFile file, Stream dataStream) { throw new NotImplementedException(); } protected override GameSystem CreateGameSystemFromStream(ZipFile file, Stream dataStream) { return gameSystem; } protected override Race CreateRaceFromStream(ZipFile file, Stream dataStream) { return new Race("test", "Test Race", gameSystem, this); } protected override ICollection<ZipEntry> GetArmyZipEntries(ZipFile file) { throw new NotImplementedException(); } protected override ICollection<ZipEntry> GetGameSystemZipEntries(ZipFile file) { List<ZipEntry> entries = new List<ZipEntry>(); ZipEntry zipEntry = file.GetEntry("data.systemx"); if (zipEntry != null) { entries.Add(zipEntry); } return entries; } protected override ICollection<ZipEntry> GetRaceZipEntries(ZipFile file) { List<ZipEntry> entries = new List<ZipEntry>(); ZipEntry zipEntry = file.GetEntry("data.racex"); if (zipEntry != null) { entries.Add(zipEntry); } return entries; } } }