# HG changeset patch # User IBBoard # Date 1304261122 0 # Node ID 6fdb76d48e04698aa7117be9194e9d160540f259 # Parent f36b5e5e51e6779cbd777af13f58bdaf19047021 Re #345: Add failure message to requirements * Test return of messages from requirement handler diff -r f36b5e5e51e6 -r 6fdb76d48e04 API/Objects/Requirement/RequirementHandlerTests.cs --- a/API/Objects/Requirement/RequirementHandlerTests.cs Sun May 01 14:32:24 2011 +0000 +++ b/API/Objects/Requirement/RequirementHandlerTests.cs Sun May 01 14:45:22 2011 +0000 @@ -7,6 +7,7 @@ using IBBoard.WarFoundry.API.Objects; using NUnit.Framework.SyntaxHelpers; using IBBoard.WarFoundry.API.Objects.Requirement.Mock; +using System.Collections.Generic; namespace IBBoard.WarFoundry.API.Objects.Requirement { @@ -166,6 +167,22 @@ Army army = new Army(race, "test", 1000); Assert.That(RequirementHandler.AllowsAdding(mockUnitType, army), Is.EqualTo(Validation.Passed)); } + + [Test()] + public void TestArmyWithMixedRequirementsGetsExpectedFailureMessageCount() + { + MockRace race = new MockRace(); + MockUnitType mockUnitType = new MockUnitType(); + mockUnitType.AddRequirement(new PassingRequirement()); + mockUnitType.AddRequirement(new NotApplicableRequirement()); + mockUnitType.AddRequirement(new FailingRequirement()); + mockUnitType.AddRequirement(new FailingRequirement()); + race.AddUnitType(mockUnitType); + Army army = new Army(race, "test", 1000); + ICollection failureMessages; + RequirementHandler.ValidateArmy(army, out failureMessages); + Assert.That(failureMessages, Has.Count(2)); + } } }