comparison API/Savers/IWarFoundryFileSaverTests.cs @ 99:dd384f35a96f

Re #324: Add saving of Race and System data to files * Start to migrate Army saving to same structure * Add first test * Give MockArmy a specific ID
author IBBoard <dev@ibboard.co.uk>
date Wed, 09 Mar 2011 20:55:35 +0000
parents 49c5e24decb9
children 5addcb8f7766
comparison
equal deleted inserted replaced
98:49c5e24decb9 99:dd384f35a96f
118 { 118 {
119 File.Delete(tempFile); 119 File.Delete(tempFile);
120 } 120 }
121 } 121 }
122 } 122 }
123
124 [Test()]
125 public void TestSaverCreatesSingleEntryWithCorrectContentForOneArmy()
126 {
127 string tempFile = Path.GetTempFileName();
128 try
129 {
130 MockArmy obj = MockArmy.GetMockArmy();
131 GetSaver().Save(tempFile, obj);
132 ZipFile file = new ZipFile(tempFile);
133 ZipEntry zipEntry = file.GetEntry(GetEntryName(obj));
134 Stream stream = file.GetInputStream(zipEntry);
135 Assert.That(StreamUtil.ToBytes(stream), Is.EqualTo(GetArmyContentBytes()));
136 file.Close();
137 }
138 finally
139 {
140 if (File.Exists(tempFile))
141 {
142 File.Delete(tempFile);
143 }
144 }
145 }
123 146
124 [Test()] 147 [Test()]
125 public void TestFileExtensionsAreCorrectForType() 148 public void TestFileExtensionsAreCorrectForType()
126 { 149 {
127 Assert.That(GetSaver().GetFileExtension(MockArmy.GetMockArmy()), Is.EqualTo(GetArmyExtension())); 150 Assert.That(GetSaver().GetFileExtension(MockArmy.GetMockArmy()), Is.EqualTo(GetArmyExtension()));
139 162
140 protected abstract string GetRaceExtension(); 163 protected abstract string GetRaceExtension();
141 164
142 protected abstract string GetGameSystemExtension(); 165 protected abstract string GetGameSystemExtension();
143 166
144 public abstract byte[] GetGameSystemContentBytes(); 167 protected abstract byte[] GetGameSystemContentBytes();
168
169 protected abstract byte[] GetArmyContentBytes();
145 } 170 }
146 } 171 }