Mercurial > repos > IBBoard.WarFoundry.API.Tests
annotate API/Savers/Xml/WarFoundryXmlFileSaverTests.cs @ 177:01f7a713fe82
Re #338: WarFoundry.API - Save System Data
* Extract "CreateOtherSystem" method for consistency
* Make "other system" excercise some of the other attributes that can be changed
TODO: Still need to work on content (categories, etc)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 26 Oct 2011 15:46:48 +0100 |
parents | 9a1763af5fd2 |
children | 50b8466783ed |
rev | line source |
---|---|
91
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 using System; |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 using NUnit.Framework; |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 using System.IO; |
95
db6db25921fb
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
91
diff
changeset
|
4 using IBBoard.WarFoundry.API.Objects; |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
5 using IBBoard.Lang; |
91
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 namespace IBBoard.WarFoundry.API.Savers.Xml |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 { |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 [TestFixture()] |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 public class WarFoundryXmlFileSaverTests : IWarFoundryFileSaverTests |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 { |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 protected override IWarFoundryFileSaver GetSaver() |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 { |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 return new WarFoundryXmlFileSaver(); |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 } |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
16 |
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
17 protected override string GetEntryName(WarFoundryLoadedObject obj) |
95
db6db25921fb
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
91
diff
changeset
|
18 { |
97
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
19 return obj.ID + GetFileExtensionForType(obj); |
95
db6db25921fb
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
91
diff
changeset
|
20 } |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
21 |
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
22 protected override string GetFileExtensionForType(WarFoundryLoadedObject obj) |
95
db6db25921fb
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
91
diff
changeset
|
23 { |
db6db25921fb
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
91
diff
changeset
|
24 return GetSaver().GetFileExtension(obj); |
db6db25921fb
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
91
diff
changeset
|
25 } |
97
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
26 |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
27 protected override string GetArmyExtension() |
97
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
28 { |
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
29 return ".armyx"; |
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
30 } |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
31 |
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
32 protected override string GetRaceExtension() |
97
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
33 { |
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
34 return ".racex"; |
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
35 } |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
36 |
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
37 protected override string GetGameSystemExtension() |
97
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
38 { |
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
39 return ".systemx"; |
45b80fed5e2a
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
95
diff
changeset
|
40 } |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
41 |
99
dd384f35a96f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
98
diff
changeset
|
42 protected override byte[] GetGameSystemContentBytes() |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
43 { |
176
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
44 return StringManipulation.StringToBytes(@"<?xml version=""1.0"" encoding=""UTF-8""?><system xmlns=""http://ibboard.co.uk/warfoundry/system"" xmlns:cats=""http://ibboard.co.uk/warfoundry/cats"" id=""mocksystem"" name=""Mock Game System"" defaultArmySize=""1000"" warn=""true"" allowAllies=""false"" defaultPtsAbbreviationSingular="""" defaultPtsAbbreviationPlural="""" defaultPtsNameSingular="""" defaultPtsNamePlural=""""><categories /><sysStatsList defaultStats=""default""><sysStats id=""default"" /></sysStatsList></system>"); |
98
49c5e24decb9
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
97
diff
changeset
|
45 } |
99
dd384f35a96f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
98
diff
changeset
|
46 |
101
08fd75eafb67
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
99
diff
changeset
|
47 protected override byte[] GetOtherGameSystemContentBytes() |
08fd75eafb67
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
99
diff
changeset
|
48 { |
177
01f7a713fe82
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
176
diff
changeset
|
49 return StringManipulation.StringToBytes(@"<?xml version=""1.0"" encoding=""UTF-8""?><system xmlns=""http://ibboard.co.uk/warfoundry/system"" xmlns:cats=""http://ibboard.co.uk/warfoundry/cats"" id=""otherSystem"" name=""Other System"" defaultArmySize=""2000"" warn=""false"" allowAllies=""true"" defaultPtsAbbreviationSingular="""" defaultPtsAbbreviationPlural="""" defaultPtsNameSingular="""" defaultPtsNamePlural=""""><categories /><sysStatsList defaultStats=""_"" /></system>"); |
101
08fd75eafb67
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
99
diff
changeset
|
50 } |
08fd75eafb67
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
99
diff
changeset
|
51 |
176
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
52 protected override byte[] GetArmyContentBytes() |
99
dd384f35a96f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
98
diff
changeset
|
53 { |
dd384f35a96f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
98
diff
changeset
|
54 return StringManipulation.StringToBytes(@"<?xml version=""1.0"" encoding=""UTF-8""?><army xmlns=""http://ibboard.co.uk/warfoundry/army"" xmlns:core=""http://ibboard.co.uk/warfoundry/core"" id=""MockArmy"" name=""Mock Army"" system=""mocksystem"" race=""mockrace"" maxPoints=""2000""><units /></army>"); |
dd384f35a96f
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
98
diff
changeset
|
55 } |
176
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
56 |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
57 protected override byte[] GetGameSystemContentWithPointsAbbrevsBytes(string singular, string plural) |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
58 { |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
59 return StringManipulation.StringToBytes(@"<?xml version=""1.0"" encoding=""UTF-8""?><system xmlns=""http://ibboard.co.uk/warfoundry/system"" xmlns:cats=""http://ibboard.co.uk/warfoundry/cats"" id=""mocksystem"" name=""Mock Game System"" defaultArmySize=""1000"" warn=""true"" allowAllies=""false"" defaultPtsAbbreviationSingular=""" + singular + @""" defaultPtsAbbreviationPlural=""" + plural + @""" defaultPtsNameSingular="""" defaultPtsNamePlural=""""><categories /><sysStatsList defaultStats=""default""><sysStats id=""default"" /></sysStatsList></system>"); |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
60 } |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
61 |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
62 protected override byte[] GetGameSystemContentWithPointsNameBytes(string singular, string plural) |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
63 { |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
64 return StringManipulation.StringToBytes(@"<?xml version=""1.0"" encoding=""UTF-8""?><system xmlns=""http://ibboard.co.uk/warfoundry/system"" xmlns:cats=""http://ibboard.co.uk/warfoundry/cats"" id=""mocksystem"" name=""Mock Game System"" defaultArmySize=""1000"" warn=""true"" allowAllies=""false"" defaultPtsAbbreviationSingular="""" defaultPtsAbbreviationPlural="""" defaultPtsNameSingular=""" + singular + @""" defaultPtsNamePlural=""" + plural + @"""><categories /><sysStatsList defaultStats=""default""><sysStats id=""default"" /></sysStatsList></system>"); |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
65 } |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
66 |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
67 protected override byte[] GetGameSystemContentWithPointsAbbrevsAndNameBytes(string singular, string plural, string singularName, string pluralName) |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
68 { |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
69 return StringManipulation.StringToBytes(@"<?xml version=""1.0"" encoding=""UTF-8""?><system xmlns=""http://ibboard.co.uk/warfoundry/system"" xmlns:cats=""http://ibboard.co.uk/warfoundry/cats"" id=""mocksystem"" name=""Mock Game System"" defaultArmySize=""1000"" warn=""true"" allowAllies=""false"" defaultPtsAbbreviationSingular=""" + singular + @""" defaultPtsAbbreviationPlural=""" + plural + @""" defaultPtsNameSingular=""" + singularName + @""" defaultPtsNamePlural=""" + pluralName + @"""><categories /><sysStatsList defaultStats=""default""><sysStats id=""default"" /></sysStatsList></system>"); |
9a1763af5fd2
Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents:
161
diff
changeset
|
70 } |
91
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
71 } |
98539b2fe8fa
Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
72 } |