# HG changeset patch # User IBBoard # Date 1295989465 0 # Node ID 4211c818ef96a2f45a354fbcf2ea1e8fcb1aad2f # Parent fb60ff2002fd32810afc32c7f6a3c9b60a08def8 Fixes #238: subfolders datafolder * Add unit test and mock object to test loading from sub-folders. We use any old file because it will fail to load it and report a failure without relying on loading logic. diff -r fb60ff2002fd -r 4211c818ef96 API/AbstractWarFoundryLoaderTests.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/API/AbstractWarFoundryLoaderTests.cs Tue Jan 25 21:04:25 2011 +0000 @@ -0,0 +1,23 @@ +using System; +using NUnit.Framework; +using IBBoard.WarFoundry.MockObjects; +using System.Collections.Generic; +using NUnit.Framework.SyntaxHelpers; +using System.IO; + +namespace IBBoard.WarFoundry.API +{ + [TestFixture()] + public class AbstractWarFoundryLoaderTests + { + [Test()] + public void TestTriesToLoadFromSubdir() + { + MockWarFoundryLoader loader = new MockWarFoundryLoader(); + loader.AddLoadDirectory(new DirectoryInfo("testdata/subdir-loading-test")); + List failures = loader.LoadFiles (); + Assert.That(failures.Count, Is.EqualTo(2)); + } + } +} + diff -r fb60ff2002fd -r 4211c818ef96 IBBoard.WarFoundry.API.Tests.csproj --- a/IBBoard.WarFoundry.API.Tests.csproj Sat Oct 30 14:46:06 2010 +0000 +++ b/IBBoard.WarFoundry.API.Tests.csproj Tue Jan 25 21:04:25 2011 +0000 @@ -1,5 +1,5 @@ - - + + Debug AnyCPU @@ -15,7 +15,6 @@ 2.0 - v2.0 @@ -70,6 +69,8 @@ + + @@ -122,7 +123,9 @@ PreserveNewest - + + PreserveNewest + PreserveNewest @@ -234,6 +237,12 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + @@ -263,4 +272,8 @@ + + + + \ No newline at end of file diff -r fb60ff2002fd -r 4211c818ef96 MockObjects/MockWarFoundryLoader.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MockObjects/MockWarFoundryLoader.cs Tue Jan 25 21:04:25 2011 +0000 @@ -0,0 +1,60 @@ +using System; +using IBBoard.WarFoundry.API; +using IBBoard.WarFoundry.API.Objects; + +namespace IBBoard.WarFoundry.MockObjects +{ + public class MockWarFoundryLoader : AbstractWarFoundryLoader + { + protected override GameSystem GetExistingSystemForSystem(GameSystem system) + { + return system; + } + + protected override void DoStoreGameSystem(GameSystem system) + { + //Do nothing + } + + protected override void DoStoreRace(Race race) + { + //Do nothing + } + + public override GameSystem[] GetGameSystems() + { + return new GameSystem[0]; + } + + public override GameSystem GetGameSystem(string systemID) + { + return null; + } + + protected override void RemoveGameSystem(GameSystem system) + { + //Do nothing + } + + public override Race[] GetRaces(GameSystem system) + { + return new Race[0]; + } + + public override Race GetRace(GameSystem system, string raceID) + { + return null; + } + + public override Race GetRace(GameSystem system, string raceID, string raceSubID) + { + return null; + } + + protected override void RemoveRace(Race race) + { + //Do nothing + } + } +} + diff -r fb60ff2002fd -r 4211c818ef96 testdata/subdir-loading-test/emptyfile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testdata/subdir-loading-test/emptyfile.txt Tue Jan 25 21:04:25 2011 +0000 @@ -0,0 +1,1 @@ + diff -r fb60ff2002fd -r 4211c818ef96 testdata/subdir-loading-test/subdir/subdirfile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testdata/subdir-loading-test/subdir/subdirfile.txt Tue Jan 25 21:04:25 2011 +0000 @@ -0,0 +1,1 @@ +