view API/Factories/Mock/MockRaceAndSystemFactory.cs @ 237:833f72be715a default tip

* Remove rogue print statements
author IBBoard <dev@ibboard.co.uk>
date Tue, 06 Nov 2012 20:58:48 +0000
parents d6883a522c70
children
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 file.GetEntry("data.racex") != null;
		}
		
		protected override bool CheckCanFindSystemFileContent(ZipFile file)
		{
			return file.GetEntry("data.systemx") != null;
		}
		
		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;
		}
	}
}