# HG changeset patch # User IBBoard # Date 1301945364 0 # Node ID a52cce66eb07bc457d70c27ada7bca74776f1310 # Parent 49fb69ea13f2d580fa8d651a8df2a9b409ea1f18 Re #27: Unit requirements * Switch to using validation enum * Add tests for unit type diff -r 49fb69ea13f2 -r a52cce66eb07 API/Objects/Requirement/RequiresNoMoreThanNOfUnitTypeRequirementTest.cs --- a/API/Objects/Requirement/RequiresNoMoreThanNOfUnitTypeRequirementTest.cs Mon Apr 04 19:05:47 2011 +0000 +++ b/API/Objects/Requirement/RequiresNoMoreThanNOfUnitTypeRequirementTest.cs Mon Apr 04 19:29:24 2011 +0000 @@ -34,7 +34,7 @@ Army army = new Army(mockRace, "Test", 1000); Unit unit = CreateUnitOfType(unitType1, army); RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); - Assert.That(req.AllowsAdding(unit, army), Is.True); + Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Passed)); } [Test()] @@ -44,7 +44,24 @@ AddUnitOfTypeToArmy(unitType2, army); Unit unit = CreateUnitOfType(unitType1, army); RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); - Assert.That(req.AllowsAdding(unit, army), Is.False); + Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Failed)); + } + + [Test()] + public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequiredIsAllowed() + { + Army army = new Army(mockRace, "Test", 1000); + RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); + Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); + } + + [Test()] + public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequiredIsNotAllowed() + { + Army army = new Army(mockRace, "Test", 1000); + AddUnitOfTypeToArmy(unitType2, army); + RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); + Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed)); } private static void AddUnitOfTypeToArmy(UnitType unitType, Army army)