annotate API/Savers/Xml/WarFoundryXmlFileSaverTests.cs @ 179:32b3e41bc8f0

Fixes #338: WarFoundry.API - Save System Data * Add final test to cover all of system data * Add "expected" data to XML test to check conformance
author IBBoard <dev@ibboard.co.uk>
date Mon, 31 Oct 2011 20:23:09 +0000
parents 50b8466783ed
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 {
178
50b8466783ed Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 177
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>");
50b8466783ed Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 177
diff changeset
70 }
50b8466783ed Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 177
diff changeset
71
179
32b3e41bc8f0 Fixes #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 178
diff changeset
72 protected override byte[] GetGameSystemContentWithCategories()
178
50b8466783ed Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 177
diff changeset
73 {
50b8466783ed Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 177
diff changeset
74 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><cat id=""cat1"" name=""Heroes"" maxPoints=""1000"" maxPercentage=""25"" /><cat id=""cat2"" name=""Warriors"" minPoints=""500"" minPercentage=""35"" /></categories><sysStatsList defaultStats=""default""><sysStats id=""default"" /></sysStatsList></system>");
176
9a1763af5fd2 Re #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 161
diff changeset
75 }
179
32b3e41bc8f0 Fixes #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 178
diff changeset
76
32b3e41bc8f0 Fixes #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 178
diff changeset
77 protected override byte[] GetGameSystemContentWithStats()
32b3e41bc8f0 Fixes #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 178
diff changeset
78 {
32b3e41bc8f0 Fixes #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 178
diff changeset
79 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=""stats""><sysStats id=""default"" /><sysStats id=""stats""><sysStat name=""M"" /><sysStat name=""S"" /><sysStat name=""T"" /><sysStat name=""W"" /></sysStats></sysStatsList></system>");
32b3e41bc8f0 Fixes #338: WarFoundry.API - Save System Data
IBBoard <dev@ibboard.co.uk>
parents: 178
diff changeset
80 }
91
98539b2fe8fa Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
81 }
98539b2fe8fa Re #324: Add saving of Race and System data to files
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
82 }