Mercurial > repos > IBDev-IBBoard.WarFoundry.API.Tests
view API/Savers/IWarFoundryFileSaverTests.cs @ 94:10da200c7799
Re #324: Add saving of Race and System data to files
* Add unit test for file count
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 05 Mar 2011 15:24:11 +0000 |
parents | 72b2f9a5fe8f |
children | db6db25921fb |
line wrap: on
line source
using System; using System.IO; using IBBoard.WarFoundry.API.Objects; using IBBoard.WarFoundry.API.Objects.Mock; using NUnit.Framework; using ICSharpCode.SharpZipLib.Zip; using NUnit.Framework.SyntaxHelpers; namespace IBBoard.WarFoundry.API.Savers { public abstract class IWarFoundryFileSaverTests { [Test()] public void TestSaverCreatesFile() { string tempFile = Path.GetTempFileName(); try { bool saved = GetSaver().Save(tempFile, new MockGameSystem()); Assert.That(saved); Assert.That(File.Exists(tempFile)); } finally { if (File.Exists(tempFile)) { File.Delete(tempFile); } } } [Test()] public void TestSaverCreatesZipFile() { string tempFile = Path.GetTempFileName(); try { GetSaver().Save(tempFile, new MockGameSystem()); ZipFile file = new ZipFile(tempFile); file.Close(); } finally { if (File.Exists(tempFile)) { File.Delete(tempFile); } } } [Test()] public void TestSaverCreatesSingleEntryForOneObject() { string tempFile = Path.GetTempFileName(); try { GetSaver().Save(tempFile, new MockGameSystem()); ZipFile file = new ZipFile(tempFile); Assert.That(file.Count, Is.EqualTo(1)); file.Close(); } finally { if (File.Exists(tempFile)) { File.Delete(tempFile); } } } protected abstract IWarFoundryFileSaver GetSaver(); } }