Mercurial > repos > IBDev-IBBoard.WarFoundry.API.Tests
diff API/Objects/Requirement/RequiresNoMoreThanNOfUnitTypeRequirementTest.cs @ 208:c323770e61c2
Re #379: Fix validation of requirements to check for unit
* Rename classes in tests to match API changes
* Alter tests to match new API (all classes require at least one UnitType that they're relevant to now)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 22 Feb 2012 20:48:40 +0000 |
parents | 8c519a44e699 |
children |
line wrap: on
line diff
--- a/API/Objects/Requirement/RequiresNoMoreThanNOfUnitTypeRequirementTest.cs Tue Jan 31 20:59:15 2012 +0000 +++ b/API/Objects/Requirement/RequiresNoMoreThanNOfUnitTypeRequirementTest.cs Wed Feb 22 20:48:40 2012 +0000 @@ -11,10 +11,10 @@ namespace IBBoard.WarFoundry.API.Objects.Requirement { - [TestFixture()] - public class RequiresNoMoreThanNOfUnitTypeRequirementTest : AbstractEqualityTest<RequiresNoMoreThanNOfUnitTypeRequirement> + public abstract class RequiresNoMoreThanNOfUnitTypeRequirementTest : AbstractEqualityTest<RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>> { private MockRace mockRace; + private UnitType allowedUnitType; private UnitType unitType1; private UnitType unitType2; private UnitType unitType3; @@ -23,6 +23,8 @@ public void SetupRace() { mockRace = new MockRace(); + allowedUnitType = new MockUnitType("allowed", "Allowed Type"); + mockRace.AddUnitType(allowedUnitType); unitType1 = new MockUnitType("type1", "Unit Type 1"); mockRace.AddUnitType(unitType1); unitType2 = new MockUnitType("type2", "Unit Type 2"); @@ -36,7 +38,7 @@ { Army army = new Army(mockRace, "Test", 1000); Unit unit = CreateUnitOfType(unitType1, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType2); Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Passed)); } @@ -46,7 +48,7 @@ Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType2, army); Unit unit = CreateUnitOfType(unitType1, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType2); Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Failed)); } @@ -54,7 +56,7 @@ public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequiredIsAllowed() { Army army = new Army(mockRace, "Test", 1000); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType2); Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); } @@ -63,7 +65,7 @@ { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType2, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType2); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType2); Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed)); } @@ -72,7 +74,7 @@ { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType2, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType2, 1); Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); } @@ -83,7 +85,7 @@ Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType2, army); AddUnitOfTypeToArmy(unitType2, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType2, 1); Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed)); } @@ -92,7 +94,7 @@ public void TestAddingUnitTypeDefaultsToNoMoreThanZero() { Army army = new Army(mockRace, "Test", 1000); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType2); Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); AddUnitOfTypeToArmy(unitType2, army); @@ -103,7 +105,7 @@ public void TestRequirementBecomesInvalidWhenProhibitedUnitsChange() { Army army = new Army(mockRace, "Test", 1000); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType2); Assert.That(req.ValidatesArmy(army), Is.EqualTo(Validation.Passed)); AddUnitOfTypeToArmy(unitType2, army); @@ -114,7 +116,7 @@ public void TestValidationMessageIsBlankForPass() { Army army = new Army(mockRace, "Test", 1000); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType1); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType1); Assert.That(req.GetValidationMessage(army), Is.Empty); } @@ -123,7 +125,7 @@ { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType1, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType1); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType1); Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (have 1).")); } @@ -134,7 +136,7 @@ AddUnitOfTypeToArmy(unitType1, army); AddUnitOfTypeToArmy(unitType1, army); AddUnitOfTypeToArmy(unitType1, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1, 2); Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army cannot contain more than: 2 × " + unitType1.Name + " (have 3).")); } @@ -145,7 +147,7 @@ Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType1, army); AddUnitOfTypeToArmy(unitType2, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1); req.AddUnitTypeRequirement(unitType2); Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (have 1); 0 × " + unitType2.Name + " (have 1).")); @@ -156,7 +158,7 @@ { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType1, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1); req.AddUnitTypeRequirement(unitType2); Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (have 1).")); @@ -167,7 +169,7 @@ { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType2, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1); req.AddUnitTypeRequirement(unitType2); Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType2.Name + " (have 1).")); @@ -177,7 +179,7 @@ public void TestAllowsAddMessageIsBlankForPass() { Army army = new Army(mockRace, "Test", 1000); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType1); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType1); Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.Empty); } @@ -185,7 +187,7 @@ public void TestAllowsAddMessageIsCorrectForFailWithOneUnitProhibited() { Army army = new Army(mockRace, "Test", 1000); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType1); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType, unitType1); Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1).")); } @@ -195,7 +197,7 @@ Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType1, army); AddUnitOfTypeToArmy(unitType1, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1, 2); Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 2 × " + unitType1.Name + " (would have 3).")); } @@ -204,7 +206,7 @@ public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibited() { Army army = new Army(mockRace, "Test", 1000); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1); req.AddUnitTypeRequirement(unitType2); Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1).")); @@ -215,7 +217,7 @@ { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType1, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1); req.AddUnitTypeRequirement(unitType2); Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1); 0 × " + unitType2.Name + " (would have 1).")); @@ -226,7 +228,7 @@ { Army army = new Army(mockRace, "Test", 1000); AddUnitOfTypeToArmy(unitType2, army); - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1); req.AddUnitTypeRequirement(unitType2); Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1); 0 × " + unitType2.Name + " (would have 1).")); @@ -242,23 +244,23 @@ return new Unit(unitType, army.GetCategory(unitType.MainCategory)); } - public override RequiresNoMoreThanNOfUnitTypeRequirement GetObject () + public override RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> GetObject() { - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1, 2); return req; } - public override RequiresNoMoreThanNOfUnitTypeRequirement GetSameObject () + public override RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> GetSameObject() { - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); req.AddUnitTypeRequirement(unitType1, 2); return req; } - public override RequiresNoMoreThanNOfUnitTypeRequirement GetDifferentObject () + public override RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> GetDifferentObject() { - RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); + RequiresNoMoreThanNOfUnitTypeRequirement<UnitType> req = new RequiresNoMoreThanNOfUnitTypeRequirement<UnitType>(allowedUnitType); DummyWarFoundryFactory factory = new DummyWarFoundryFactory(); GameSystem gameSystem = new GameSystem("system", "system", factory); Race race = new Race("race", "race", gameSystem, factory);