# HG changeset patch # User IBBoard # Date 1309619388 0 # Node ID e84149f37478cd6efe39ec18b40970fec5e419a8 # Parent dd283afa5971ae97680308ab1067437f54f4ab9d Re #351: Add extensible requirement handling method * Test exception messages * Test invalid numbers diff -r dd283afa5971 -r e84149f37478 API/Factories/Requirement/UnitRequiresAtLeastNUnitsRequirementFactoryTest.cs --- a/API/Factories/Requirement/UnitRequiresAtLeastNUnitsRequirementFactoryTest.cs Sat Jul 02 15:00:16 2011 +0000 +++ b/API/Factories/Requirement/UnitRequiresAtLeastNUnitsRequirementFactoryTest.cs Sat Jul 02 15:09:48 2011 +0000 @@ -16,8 +16,8 @@ private static Race race; private static string typeID1 = "unit1"; private static string typeID2 = "unit2"; - private UnitType unitType1; - private UnitType unitType2; + private static UnitType unitType1; + private static UnitType unitType2; [TestFixtureSetUp()] public void Setup() @@ -107,13 +107,22 @@ } [Test()] - [ExpectedException()] - public void TestCreatesCorrectRequirementForInvalidID() + [ExpectedException(typeof(InvalidRequirementException), "Invalid unit type 'fibble' for 'Requires at least N units' requirement")] + public void TestExceptionsForInvalidID() { UnitRequiresAtLeastNUnitsRequirementFactory factory = new UnitRequiresAtLeastNUnitsRequirementFactory(); UnitType unitType = new UnitType("testUnit", "Test Unit", race); factory.CreateRequirement(unitType, "fibble"); } + + [Test()] + [ExpectedException(typeof(InvalidRequirementException), "Invalid amount 'a' for unit type 'unit1' for 'Requires at least N units' requirement")] + public void TestExceptionsForInvalidNumber() + { + UnitRequiresAtLeastNUnitsRequirementFactory factory = new UnitRequiresAtLeastNUnitsRequirementFactory(); + UnitType unitType = new UnitType("testUnit", "Test Unit", race); + factory.CreateRequirement(unitType, typeID1+":a"); + } } }