changeset 137:081b48413f6d

Re #140: Add equality methods to WarFoundry objects * Add equality to Race, GameSystem and UnitType tests * Create equality test for UnitCountRequirementData Not all tests pass yet
author IBBoard <dev@ibboard.co.uk>
date Tue, 26 Apr 2011 15:03:46 +0000
parents d28c3c1ec1ec
children 11faab6c712a
files API/Objects/GameSystemTest.cs API/Objects/RaceTests.cs API/Objects/Requirement/UnitCountRequirementDataTest.cs API/Objects/UnitTypeTest.cs IBBoard.WarFoundry.API.Tests.csproj
diffstat 5 files changed, 327 insertions(+), 43 deletions(-) [+]
line diff
     1.1 --- a/API/Objects/GameSystemTest.cs	Mon Apr 25 15:09:54 2011 +0000
     1.2 +++ b/API/Objects/GameSystemTest.cs	Tue Apr 26 15:03:46 2011 +0000
     1.3 @@ -2,12 +2,59 @@
     1.4  using NUnit.Framework;
     1.5  using IBBoard.WarFoundry.API.Factories;
     1.6  using NUnit.Framework.SyntaxHelpers;
     1.7 +using System.Reflection;
     1.8 +using IBBoard.NUnit;
     1.9  
    1.10  namespace IBBoard.WarFoundry.API.Objects
    1.11  {
    1.12  	[TestFixture()]
    1.13 -	public class GameSystemTest
    1.14 +	public class GameSystemTest : AbstractEqualityTest<GameSystem>
    1.15  	{
    1.16 +		//FIXME We shouldn't duplicate these tests, but it is broken at the moment
    1.17 +		[Test]
    1.18 +		public void TestEquality()
    1.19 +		{
    1.20 +			Assert.AreEqual(GetObject(), GetSameObject());
    1.21 +			Assert.AreEqual(GetSameObject(), GetObject());
    1.22 +		}
    1.23 +
    1.24 +		[Test]
    1.25 +		public void TestInequality()
    1.26 +		{
    1.27 +			Assert.AreNotEqual(GetObject(), GetDifferentObject());
    1.28 +			Assert.AreNotEqual(GetSameObject(), GetDifferentObject());
    1.29 +			Assert.AreNotEqual(GetDifferentObject(), GetObject());
    1.30 +			Assert.AreNotEqual(GetDifferentObject(), GetSameObject());
    1.31 +		}
    1.32 +
    1.33 +		[Test]
    1.34 +		public void TestReflexiveEquality()
    1.35 +		{
    1.36 +			Assert.AreEqual(GetObject(), GetObject());
    1.37 +			Assert.AreEqual(GetSameObject(), GetSameObject());
    1.38 +			Assert.AreEqual(GetDifferentObject(), GetDifferentObject());
    1.39 +		}
    1.40 +
    1.41 +		[Test]
    1.42 +		public void TestOtherInequality()
    1.43 +		{
    1.44 +			MethodInfo[] methodInfo = GetType().GetMethods();
    1.45 +			GameSystem obj = GetObject();
    1.46 +
    1.47 +			foreach (MethodInfo method in methodInfo)
    1.48 +			{
    1.49 +				if (method.Name.StartsWith("GetOtherDifferent"))
    1.50 +				{
    1.51 +					GameSystem otherObj = (GameSystem)method.Invoke(this, new object[0]);
    1.52 +					Assert.AreNotEqual(obj, otherObj, "Objects equal for "+method.Name);
    1.53 +					Assert.AreNotEqual(otherObj, obj, "Objects equal for "+method.Name);
    1.54 +				}
    1.55 +			}
    1.56 +		}
    1.57 +
    1.58 +
    1.59 +
    1.60 +
    1.61  		[Test()]
    1.62  		public void TestPointsSingularAbbreviation ()
    1.63  		{
    1.64 @@ -121,6 +168,24 @@
    1.65  			system.SystemPtsAbbrevSingle = "pt";
    1.66  			Assert.That(system.GetPointsAbbrev(0), Is.EqualTo("pt"));
    1.67  		}
    1.68 +
    1.69 +		public override GameSystem GetObject ()
    1.70 +		{
    1.71 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
    1.72 +			return new GameSystem("system", "system", factory);
    1.73 +		}
    1.74 +
    1.75 +		public override GameSystem GetSameObject ()
    1.76 +		{
    1.77 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
    1.78 +			return new GameSystem("system", "system", factory);
    1.79 +		}
    1.80 +
    1.81 +		public override GameSystem GetDifferentObject ()
    1.82 +		{
    1.83 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
    1.84 +			return new GameSystem("system2", "another system", factory);
    1.85 +		}
    1.86  	}
    1.87  }
    1.88  
     2.1 --- a/API/Objects/RaceTests.cs	Mon Apr 25 15:09:54 2011 +0000
     2.2 +++ b/API/Objects/RaceTests.cs	Tue Apr 26 15:03:46 2011 +0000
     2.3 @@ -1,64 +1,133 @@
     2.4 -// This file (RaceTests.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2011 IBBoard
     2.5 +// This file (RaceTests.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2011 IBBoard
     2.6  // 
     2.7  // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
     2.8  using System;
     2.9 -using NUnit.Framework;
    2.10 -using IBBoard.WarFoundry.API.Objects.Mock;
    2.11 -using NUnit.Framework.SyntaxHelpers;
    2.12 -using IBBoard.WarFoundry.API.Objects.Requirement;
    2.13 -using System.Collections.Generic;
    2.14 +using NUnit.Framework;
    2.15 +using IBBoard.WarFoundry.API.Objects.Mock;
    2.16 +using NUnit.Framework.SyntaxHelpers;
    2.17 +using IBBoard.WarFoundry.API.Objects.Requirement;
    2.18 +using System.Collections.Generic;
    2.19 +using IBBoard.NUnit;
    2.20 +using System.Reflection;
    2.21 +using IBBoard.WarFoundry.API.Factories;
    2.22  
    2.23  namespace IBBoard.WarFoundry.API.Objects
    2.24  {
    2.25  	[TestFixture()]
    2.26 -	public class RaceTests
    2.27 +	public class RaceTests : AbstractEqualityTest<Race>
    2.28  	{
    2.29 +		//FIXME We shouldn't duplicate these tests, but it is broken at the moment
    2.30 +		[Test]
    2.31 +		public void TestEquality()
    2.32 +		{
    2.33 +			Assert.AreEqual(GetObject(), GetSameObject());
    2.34 +			Assert.AreEqual(GetSameObject(), GetObject());
    2.35 +		}
    2.36 +
    2.37 +		[Test]
    2.38 +		public void TestInequality()
    2.39 +		{
    2.40 +			Assert.AreNotEqual(GetObject(), GetDifferentObject());
    2.41 +			Assert.AreNotEqual(GetSameObject(), GetDifferentObject());
    2.42 +			Assert.AreNotEqual(GetDifferentObject(), GetObject());
    2.43 +			Assert.AreNotEqual(GetDifferentObject(), GetSameObject());
    2.44 +		}
    2.45 +
    2.46 +		[Test]
    2.47 +		public void TestReflexiveEquality()
    2.48 +		{
    2.49 +			Assert.AreEqual(GetObject(), GetObject());
    2.50 +			Assert.AreEqual(GetSameObject(), GetSameObject());
    2.51 +			Assert.AreEqual(GetDifferentObject(), GetDifferentObject());
    2.52 +		}
    2.53 +
    2.54 +		[Test]
    2.55 +		public void TestOtherInequality()
    2.56 +		{
    2.57 +			MethodInfo[] methodInfo = GetType().GetMethods();
    2.58 +			Race obj = GetObject();
    2.59 +
    2.60 +			foreach (MethodInfo method in methodInfo)
    2.61 +			{
    2.62 +				if (method.Name.StartsWith("GetOtherDifferent"))
    2.63 +				{
    2.64 +					Race otherObj = (Race)method.Invoke(this, new object[0]);
    2.65 +					Assert.AreNotEqual(obj, otherObj, "Objects equal for "+method.Name);
    2.66 +					Assert.AreNotEqual(otherObj, obj, "Objects equal for "+method.Name);
    2.67 +				}
    2.68 +			}
    2.69 +		}
    2.70 +
    2.71 +
    2.72 +
    2.73 +
    2.74  		[Test()]
    2.75  		public void TestRaceWithNoUnitTypesHasNoRequirements()
    2.76 -		{
    2.77 +		{
    2.78  			Assert.That(new MockRace().GetRequirements(), Has.Count(0));
    2.79 +		}
    2.80 +
    2.81 +		[Test()]
    2.82 +		public void TestRaceWithOneUnitTypeHasNoRequirements()
    2.83 +		{
    2.84 +			MockRace race = new MockRace();
    2.85 +			race.AddUnitType(new MockUnitType());
    2.86 +			Assert.That(race.GetRequirements(), Has.Count(0));
    2.87 +		}
    2.88 +
    2.89 +		[Test()]
    2.90 +		public void TestRaceWithOneUnitTypeWithOneRequirementHasOneRequirement()
    2.91 +		{
    2.92 +			MockRace race = new MockRace();
    2.93 +			MockUnitType unitType = new MockUnitType();
    2.94 +			UnitRequiresAtLeastNUnitsRequirement unitRequirement = new UnitRequiresAtLeastNUnitsRequirement(unitType);
    2.95 +			unitType.AddRequirement(unitRequirement);
    2.96 +			race.AddUnitType(unitType);
    2.97 +			ICollection<IRequirement> raceRequirements = race.GetRequirements();
    2.98 +			Assert.That(raceRequirements, Has.Count(1));
    2.99 +			Assert.That(raceRequirements, Has.All.EqualTo(unitRequirement));
   2.100 +		}
   2.101 +
   2.102 +		[Test()]
   2.103 +		public void TestRaceWithTwoUnitTypesWithMultipleRequirementsHasMultipleRequirements()
   2.104 +		{
   2.105 +			MockRace race = new MockRace();
   2.106 +			MockUnitType unitType1 = new MockUnitType("type1", "Type 1");
   2.107 +			UnitRequiresAtLeastNUnitsRequirement unitRequirement1 = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
   2.108 +			unitType1.AddRequirement(unitRequirement1);
   2.109 +			UnitRequiresNoMoreThanNOfUnitTypeRequirement unitRequirement2 = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1);
   2.110 +			unitType1.AddRequirement(unitRequirement2);
   2.111 +			race.AddUnitType(unitType1);
   2.112 +			MockUnitType unitType2 = new MockUnitType("type2", "Type 2");
   2.113 +			UnitRequiresAtLeastNUnitsRequirement unitRequirement3 = new UnitRequiresAtLeastNUnitsRequirement(unitType2);
   2.114 +			unitType2.AddRequirement(unitRequirement3);
   2.115 +			race.AddUnitType(unitType2);
   2.116 +			ICollection<IRequirement> raceRequirements = race.GetRequirements();
   2.117 +			Assert.That(raceRequirements, Has.Count(3));
   2.118 +			Assert.That(raceRequirements, Has.Member(unitRequirement1));
   2.119 +			Assert.That(raceRequirements, Has.Member(unitRequirement2));
   2.120 +			Assert.That(raceRequirements, Has.Member(unitRequirement3));
   2.121  		}
   2.122  
   2.123 -		[Test()]
   2.124 -		public void TestRaceWithOneUnitTypeHasNoRequirements()
   2.125 +		public override Race GetObject ()
   2.126  		{
   2.127 -			MockRace race = new MockRace();
   2.128 -			race.AddUnitType(new MockUnitType());
   2.129 -			Assert.That(race.GetRequirements(), Has.Count(0));
   2.130 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
   2.131 +			GameSystem gameSystem = new GameSystem("system", "system", factory);
   2.132 +			return new Race("race", "race", gameSystem, factory);
   2.133  		}
   2.134  
   2.135 -		[Test()]
   2.136 -		public void TestRaceWithOneUnitTypeWithOneRequirementHasOneRequirement()
   2.137 +		public override Race GetSameObject ()
   2.138  		{
   2.139 -			MockRace race = new MockRace();
   2.140 -			MockUnitType unitType = new MockUnitType();
   2.141 -			UnitRequiresAtLeastNUnitsRequirement unitRequirement = new UnitRequiresAtLeastNUnitsRequirement(unitType);
   2.142 -			unitType.AddRequirement(unitRequirement);
   2.143 -			race.AddUnitType(unitType);
   2.144 -			ICollection<IRequirement> raceRequirements = race.GetRequirements();
   2.145 -			Assert.That(raceRequirements, Has.Count(1));
   2.146 -			Assert.That(raceRequirements, Has.All.EqualTo(unitRequirement));
   2.147 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
   2.148 +			GameSystem gameSystem = new GameSystem("system", "system", factory);
   2.149 +			return new Race("race", "race", gameSystem, factory);
   2.150  		}
   2.151  
   2.152 -		[Test()]
   2.153 -		public void TestRaceWithTwoUnitTypesWithMultipleRequirementsHasMultipleRequirements()
   2.154 +		public override Race GetDifferentObject ()
   2.155  		{
   2.156 -			MockRace race = new MockRace();
   2.157 -			MockUnitType unitType1 = new MockUnitType("type1", "Type 1");
   2.158 -			UnitRequiresAtLeastNUnitsRequirement unitRequirement1 = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
   2.159 -			unitType1.AddRequirement(unitRequirement1);
   2.160 -			UnitRequiresNoMoreThanNOfUnitTypeRequirement unitRequirement2 = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1);
   2.161 -			unitType1.AddRequirement(unitRequirement2);
   2.162 -			race.AddUnitType(unitType1);
   2.163 -			MockUnitType unitType2 = new MockUnitType("type2", "Type 2");
   2.164 -			UnitRequiresAtLeastNUnitsRequirement unitRequirement3 = new UnitRequiresAtLeastNUnitsRequirement(unitType2);
   2.165 -			unitType2.AddRequirement(unitRequirement3);
   2.166 -			race.AddUnitType(unitType2);
   2.167 -			ICollection<IRequirement> raceRequirements = race.GetRequirements();
   2.168 -			Assert.That(raceRequirements, Has.Count(3));
   2.169 -			Assert.That(raceRequirements, Has.Member(unitRequirement1));
   2.170 -			Assert.That(raceRequirements, Has.Member(unitRequirement2));
   2.171 -			Assert.That(raceRequirements, Has.Member(unitRequirement3));
   2.172 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
   2.173 +			GameSystem gameSystem = new GameSystem("system2", "another system", factory);
   2.174 +			return new Race("race2", "other race", gameSystem, factory);
   2.175  		}
   2.176  	}
   2.177  }
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/API/Objects/Requirement/UnitCountRequirementDataTest.cs	Tue Apr 26 15:03:46 2011 +0000
     3.3 @@ -0,0 +1,79 @@
     3.4 +// This file (UnitCountRequirementDataTest.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2011 IBBoard
     3.5 +// 
     3.6 +// The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
     3.7 +using System;
     3.8 +using NUnit.Framework;
     3.9 +using IBBoard.NUnit;
    3.10 +using IBBoard.WarFoundry.API.Objects.Mock;
    3.11 +using IBBoard.WarFoundry.API.Factories;
    3.12 +using System.Reflection;
    3.13 +
    3.14 +namespace IBBoard.WarFoundry.API.Objects.Requirement
    3.15 +{
    3.16 +	[TestFixture()]
    3.17 +	public class UnitCountRequirementDataTest : AbstractEqualityTest<UnitCountRequirementData>
    3.18 +	{
    3.19 +		//FIXME We shouldn't duplicate these tests, but it is broken at the moment
    3.20 +		[Test]
    3.21 +		public void TestEquality()
    3.22 +		{
    3.23 +			Assert.AreEqual(GetObject(), GetSameObject());
    3.24 +			Assert.AreEqual(GetSameObject(), GetObject());
    3.25 +		}
    3.26 +
    3.27 +		[Test]
    3.28 +		public void TestInequality()
    3.29 +		{
    3.30 +			Assert.AreNotEqual(GetObject(), GetDifferentObject());
    3.31 +			Assert.AreNotEqual(GetSameObject(), GetDifferentObject());
    3.32 +			Assert.AreNotEqual(GetDifferentObject(), GetObject());
    3.33 +			Assert.AreNotEqual(GetDifferentObject(), GetSameObject());
    3.34 +		}
    3.35 +
    3.36 +		[Test]
    3.37 +		public void TestReflexiveEquality()
    3.38 +		{
    3.39 +			Assert.AreEqual(GetObject(), GetObject());
    3.40 +			Assert.AreEqual(GetSameObject(), GetSameObject());
    3.41 +			Assert.AreEqual(GetDifferentObject(), GetDifferentObject());
    3.42 +		}
    3.43 +
    3.44 +		[Test]
    3.45 +		public void TestOtherInequality()
    3.46 +		{
    3.47 +			MethodInfo[] methodInfo = GetType().GetMethods();
    3.48 +			UnitCountRequirementData obj = GetObject();
    3.49 +
    3.50 +			foreach (MethodInfo method in methodInfo)
    3.51 +			{
    3.52 +				if (method.Name.StartsWith("GetOtherDifferent"))
    3.53 +				{
    3.54 +					UnitCountRequirementData otherObj = (UnitCountRequirementData)method.Invoke(this, new object[0]);
    3.55 +					Assert.AreNotEqual(obj, otherObj, "Objects equal for "+method.Name);
    3.56 +					Assert.AreNotEqual(otherObj, obj, "Objects equal for "+method.Name);
    3.57 +				}
    3.58 +			}
    3.59 +		}
    3.60 +
    3.61 +
    3.62 +
    3.63 +		public override UnitCountRequirementData GetObject ()
    3.64 +		{
    3.65 +			return new UnitCountRequirementData(new MockUnitType(), 1);
    3.66 +		}
    3.67 +
    3.68 +		public override UnitCountRequirementData GetSameObject ()
    3.69 +		{
    3.70 +			return new UnitCountRequirementData(new MockUnitType(), 1);
    3.71 +		}
    3.72 +
    3.73 +		public override UnitCountRequirementData GetDifferentObject ()
    3.74 +		{
    3.75 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
    3.76 +			GameSystem gameSystem = new GameSystem("system", "system", factory);
    3.77 +			Race race = new Race("race", "race", gameSystem, factory);
    3.78 +			return new UnitCountRequirementData(new UnitType("id9", "some name", race), 2);
    3.79 +		}
    3.80 +	}
    3.81 +}
    3.82 +
     4.1 --- a/API/Objects/UnitTypeTest.cs	Mon Apr 25 15:09:54 2011 +0000
     4.2 +++ b/API/Objects/UnitTypeTest.cs	Tue Apr 26 15:03:46 2011 +0000
     4.3 @@ -6,12 +6,60 @@
     4.4  using NUnit.Framework.Constraints;
     4.5  using NUnit.Framework.SyntaxHelpers;
     4.6  using IBBoard.WarFoundry.API.Objects.Requirement;
     4.7 +using System.Reflection;
     4.8 +using IBBoard.NUnit;
     4.9 +using IBBoard.WarFoundry.API.Factories;
    4.10  
    4.11  namespace IBBoard.WarFoundry.API.Objects
    4.12  {
    4.13  	[TestFixture()]
    4.14 -	public class UnitTypeTest
    4.15 +	public class UnitTypeTest : AbstractEqualityTest<UnitType>
    4.16  	{
    4.17 +		//FIXME We shouldn't duplicate these tests, but it is broken at the moment
    4.18 +		[Test]
    4.19 +		public void TestEquality()
    4.20 +		{
    4.21 +			Assert.AreEqual(GetObject(), GetSameObject());
    4.22 +			Assert.AreEqual(GetSameObject(), GetObject());
    4.23 +		}
    4.24 +
    4.25 +		[Test]
    4.26 +		public void TestInequality()
    4.27 +		{
    4.28 +			Assert.AreNotEqual(GetObject(), GetDifferentObject());
    4.29 +			Assert.AreNotEqual(GetSameObject(), GetDifferentObject());
    4.30 +			Assert.AreNotEqual(GetDifferentObject(), GetObject());
    4.31 +			Assert.AreNotEqual(GetDifferentObject(), GetSameObject());
    4.32 +		}
    4.33 +
    4.34 +		[Test]
    4.35 +		public void TestReflexiveEquality()
    4.36 +		{
    4.37 +			Assert.AreEqual(GetObject(), GetObject());
    4.38 +			Assert.AreEqual(GetSameObject(), GetSameObject());
    4.39 +			Assert.AreEqual(GetDifferentObject(), GetDifferentObject());
    4.40 +		}
    4.41 +
    4.42 +		[Test]
    4.43 +		public void TestOtherInequality()
    4.44 +		{
    4.45 +			MethodInfo[] methodInfo = GetType().GetMethods();
    4.46 +			UnitType obj = GetObject();
    4.47 +
    4.48 +			foreach (MethodInfo method in methodInfo)
    4.49 +			{
    4.50 +				if (method.Name.StartsWith("GetOtherDifferent"))
    4.51 +				{
    4.52 +					UnitType otherObj = (UnitType)method.Invoke(this, new object[0]);
    4.53 +					Assert.AreNotEqual(obj, otherObj, "Objects equal for "+method.Name);
    4.54 +					Assert.AreNotEqual(otherObj, obj, "Objects equal for "+method.Name);
    4.55 +				}
    4.56 +			}
    4.57 +		}
    4.58 +
    4.59 +
    4.60 +
    4.61 +
    4.62  		[Test()]
    4.63  		public void TestSettingMainCategorySetsCategoriesCollection()
    4.64  		{
    4.65 @@ -70,6 +118,24 @@
    4.66  			minLimit.AddUnitTypeRequirement(unitType, 1);
    4.67  			Assert.That(unitType.GetRequirements(), Has.Member(minLimit));
    4.68  		}
    4.69 +
    4.70 +		public override UnitType GetObject ()
    4.71 +		{
    4.72 +			return new UnitType("id1", "Type 1", new MockRace());
    4.73 +		}
    4.74 +
    4.75 +		public override UnitType GetSameObject ()
    4.76 +		{
    4.77 +			return new UnitType("id1", "Type 1", new MockRace());
    4.78 +		}
    4.79 +
    4.80 +		public override UnitType GetDifferentObject ()
    4.81 +		{
    4.82 +			DummyWarFoundryFactory factory = new DummyWarFoundryFactory();
    4.83 +			GameSystem gameSystem = new GameSystem("system", "system", factory);
    4.84 +			Race race = new Race("race", "race", gameSystem, factory);
    4.85 +			return new UnitType("id2", "Type 2", race);
    4.86 +		}
    4.87  	}
    4.88  }
    4.89  
     5.1 --- a/IBBoard.WarFoundry.API.Tests.csproj	Mon Apr 25 15:09:54 2011 +0000
     5.2 +++ b/IBBoard.WarFoundry.API.Tests.csproj	Tue Apr 26 15:03:46 2011 +0000
     5.3 @@ -102,6 +102,7 @@
     5.4      <Compile Include="API\Objects\Requirement\Mock\AbstractFixedRequirement.cs" />
     5.5      <Compile Include="API\Objects\Requirement\Mock\PassingRequirement.cs" />
     5.6      <Compile Include="API\Objects\Requirement\Mock\NotApplicableRequirement.cs" />
     5.7 +    <Compile Include="API\Objects\Requirement\UnitCountRequirementDataTest.cs" />
     5.8    </ItemGroup>
     5.9    <ItemGroup>
    5.10      <None Include="app.config" />
    5.11 @@ -305,6 +306,10 @@
    5.12        <Project>{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}</Project>
    5.13        <Name>ICSharpCode.SharpZLib</Name>
    5.14      </ProjectReference>
    5.15 +    <ProjectReference Include="..\IBBoard.NUnit\IBBoard.NUnit.csproj">
    5.16 +      <Project>{C52AFD32-B869-4E14-AACE-2846AD2CC742}</Project>
    5.17 +      <Name>IBBoard.NUnit</Name>
    5.18 +    </ProjectReference>
    5.19    </ItemGroup>
    5.20    <ProjectExtensions>
    5.21      <MonoDevelop>