# HG changeset patch # User IBBoard # Date 1301252942 0 # Node ID 782494137b5800ec7accdfdb7851c586e942b710 # Parent c6562eb62d0489825fab15e427bb57c21ea9efc4 Re #27: Define unit requirements * Add tests to cover UnitType, since we'll often be checking if we can create a unit rather than creating and adding it diff -r c6562eb62d04 -r 782494137b58 API/Objects/Requirements/UnitRequiresAtLeastNUnitsRequirementTest.cs --- a/API/Objects/Requirements/UnitRequiresAtLeastNUnitsRequirementTest.cs Sat Mar 26 21:02:18 2011 +0000 +++ b/API/Objects/Requirements/UnitRequiresAtLeastNUnitsRequirementTest.cs Sun Mar 27 19:09:02 2011 +0000 @@ -26,7 +26,7 @@ } [Test()] - public void TestWithNoUnitsAndOneUnitTypeRequired() + public void TestAddingUnitWithNoUnitsAndOneUnitTypeRequired() { Army army = new Army(mockRace, "Test", 1000); Unit unit = CreateUnitOfType(unitType1, army); @@ -35,7 +35,7 @@ } [Test()] - public void TestWithOneUnitAndOneUnitTypeRequired() + public void TestAddingUnitWithOneUnitAndOneUnitTypeRequired() { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType2, army); @@ -44,6 +44,23 @@ Assert.That(req.CanAddToArmy(unit, army), Is.True); } + [Test()] + public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequired() + { + Army army = new Army(mockRace, "Test", 1000); + UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); + Assert.That(req.CanAddToArmy(unitType1, army), Is.False); + } + + [Test()] + public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired() + { + Army army = new Army(mockRace, "Test", 1000); + AddUnitOfTypeToArmy(unitType2, army); + UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); + Assert.That(req.CanAddToArmy(unitType1, army), Is.True); + } + private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) { army.AddUnit(CreateUnitOfType(unitType, army));