Mercurial > repos > IBBoard.WarFoundry.API.Tests
annotate API/Factories/Mock/MockRaceAndSystemFactory.cs @ 230:d6883a522c70
Re #419: Remove assumptions of a file-based install
* Make sure Race files aren't identified as GameSystem files
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 11 Jul 2012 20:54:12 +0100 |
parents | 6ec46f3db2d4 |
children |
rev | line source |
---|---|
229
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 // This file (MockSystemFactory.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2008, 2009 IBBoard. |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 // |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 // 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. |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 using System; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 using System.IO; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 using IBBoard.WarFoundry.API.Factories; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 using IBBoard.WarFoundry.API.Objects; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 using ICSharpCode.SharpZipLib.Zip; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 using System.Collections.Generic; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 namespace IBBoard.WarFoundry.API.Factories.Mock |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 public class MockRaceAndSystemFactory : AbstractNativeWarFoundryFactory |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 private static MockRaceAndSystemFactory mock; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 private GameSystem gameSystem; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 public static MockRaceAndSystemFactory GetMockFactory() |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
22 if (mock == null) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 mock = new MockRaceAndSystemFactory(); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
26 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 return mock; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 public MockRaceAndSystemFactory() |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 gameSystem = new GameSystem("test", "Test System", this); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
33 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 protected override bool CheckCanFindArmyFileContent(ZipFile file) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
36 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
37 return false; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
38 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 protected override bool CheckCanFindRaceFileContent(ZipFile file) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 { |
230
d6883a522c70
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
229
diff
changeset
|
42 return file.GetEntry("data.racex") != null; |
229
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
43 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 protected override bool CheckCanFindSystemFileContent(ZipFile file) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 { |
230
d6883a522c70
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
229
diff
changeset
|
47 return file.GetEntry("data.systemx") != null; |
229
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
48 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
49 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
50 protected override Army CreateArmyFromStream(ZipFile file, Stream dataStream) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
51 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
52 throw new NotImplementedException(); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
53 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
54 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
55 protected override GameSystem CreateGameSystemFromStream(ZipFile file, Stream dataStream) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
56 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
57 return gameSystem; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
58 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
59 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
60 protected override Race CreateRaceFromStream(ZipFile file, Stream dataStream) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
61 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
62 return new Race("test", "Test Race", gameSystem, this); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
63 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
64 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
65 protected override ICollection<ZipEntry> GetArmyZipEntries(ZipFile file) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
66 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
67 throw new NotImplementedException(); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
68 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
69 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
70 protected override ICollection<ZipEntry> GetGameSystemZipEntries(ZipFile file) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
71 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
72 List<ZipEntry> entries = new List<ZipEntry>(); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
73 ZipEntry zipEntry = file.GetEntry("data.systemx"); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
74 if (zipEntry != null) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
75 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
76 entries.Add(zipEntry); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
77 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
78 return entries; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
79 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
80 |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
81 protected override ICollection<ZipEntry> GetRaceZipEntries(ZipFile file) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
82 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
83 List<ZipEntry> entries = new List<ZipEntry>(); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
84 ZipEntry zipEntry = file.GetEntry("data.racex"); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
85 if (zipEntry != null) |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
86 { |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
87 entries.Add(zipEntry); |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
88 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
89 return entries; |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
90 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
91 } |
6ec46f3db2d4
Re #419: Remove assumptions of a file-based install
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
92 } |