view API/Factories/Mock/MockSystemFactory.cs @ 75:72479ca6feb4

Fixes #311: can't read ZIP file packed by Linux app Archive Manager/File Roller * Add a unit test for the failure
author IBBoard <dev@ibboard.co.uk>
date Sat, 30 Oct 2010 14:45:45 +0000
parents a4e7e938d065
children 31fd34f7d7cf
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;

namespace IBBoard.WarFoundry.API.Factories.Mock
{
	public class MockSystemFactory : AbstractNativeWarFoundryFactory
	{
		private static MockSystemFactory mock;
		
		public static MockSystemFactory GetMockFactory()
		{
			if (mock == null)
			{
				mock = new MockSystemFactory();
			}
			
			return mock;
		}
		
		public MockSystemFactory()
		{
		}
		
		protected override bool CheckCanFindArmyFileContent(ZipFile file)
		{
			return false;
		}
		
		protected override bool CheckCanFindRaceFileContent(ZipFile file)
		{
			return false;
		}
		
		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 new GameSystem("test", "Test System", this);
		}
		
		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)
		{
			return new MemoryStream();
		}

		protected override Stream GetRaceDataStream (ZipFile file)
		{
			throw new NotImplementedException ();
		}
	}
}