comparison API/Objects/RaceTests.cs @ 238:e173c5512067

* Update to v2.6 of NUnit and new syntax/API changes
author IBBoard <dev@ibboard.co.uk>
date Sun, 28 Apr 2013 19:32:38 +0100
parents 49480e1a8f90
children
comparison
equal deleted inserted replaced
237:833f72be715a 238:e173c5512067
2 // 2 //
3 // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. 3 // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
4 using System; 4 using System;
5 using NUnit.Framework; 5 using NUnit.Framework;
6 using IBBoard.WarFoundry.API.Objects.Mock; 6 using IBBoard.WarFoundry.API.Objects.Mock;
7 using NUnit.Framework.SyntaxHelpers;
8 using IBBoard.WarFoundry.API.Objects.Requirement; 7 using IBBoard.WarFoundry.API.Objects.Requirement;
9 using System.Collections.Generic; 8 using System.Collections.Generic;
10 using IBBoard.NUnit; 9 using IBBoard.NUnit;
11 using System.Reflection; 10 using System.Reflection;
12 using IBBoard.WarFoundry.API.Factories; 11 using IBBoard.WarFoundry.API.Factories;
17 public class RaceTests : AbstractEqualityTest<Race> 16 public class RaceTests : AbstractEqualityTest<Race>
18 { 17 {
19 [Test()] 18 [Test()]
20 public void TestRaceWithNoUnitTypesHasNoRequirements() 19 public void TestRaceWithNoUnitTypesHasNoRequirements()
21 { 20 {
22 Assert.That(new MockRace().GetRequirements(), Has.Count(0)); 21 Assert.That(new MockRace().GetRequirements(), Has.Count.EqualTo(0));
23 } 22 }
24 23
25 [Test()] 24 [Test()]
26 public void TestRaceWithOneUnitTypeHasNoRequirements() 25 public void TestRaceWithOneUnitTypeHasNoRequirements()
27 { 26 {
28 MockRace race = new MockRace(); 27 MockRace race = new MockRace();
29 race.AddUnitType(new MockUnitType()); 28 race.AddUnitType(new MockUnitType());
30 Assert.That(race.GetRequirements(), Has.Count(0)); 29 Assert.That(race.GetRequirements(), Has.Count.EqualTo(0));
31 } 30 }
32 31
33 [Test()] 32 [Test()]
34 public void TestRaceWithOneUnitTypeWithOneRequirementHasOneRequirement() 33 public void TestRaceWithOneUnitTypeWithOneRequirementHasOneRequirement()
35 { 34 {
37 MockUnitType unitType = new MockUnitType(); 36 MockUnitType unitType = new MockUnitType();
38 UnitRequiresAtLeastNUnitsRequirement unitRequirement = new UnitRequiresAtLeastNUnitsRequirement(unitType); 37 UnitRequiresAtLeastNUnitsRequirement unitRequirement = new UnitRequiresAtLeastNUnitsRequirement(unitType);
39 unitType.AddRequirement(unitRequirement); 38 unitType.AddRequirement(unitRequirement);
40 race.AddUnitType(unitType); 39 race.AddUnitType(unitType);
41 ICollection<IRequirement> raceRequirements = race.GetRequirements(); 40 ICollection<IRequirement> raceRequirements = race.GetRequirements();
42 Assert.That(raceRequirements, Has.Count(1)); 41 Assert.That(raceRequirements, Has.Count.EqualTo(1));
43 Assert.That(raceRequirements, Has.All.EqualTo(unitRequirement)); 42 Assert.That(raceRequirements, Has.All.EqualTo(unitRequirement));
44 } 43 }
45 44
46 [Test()] 45 [Test()]
47 public void TestRaceWithTwoUnitTypesWithMultipleRequirementsHasMultipleRequirements() 46 public void TestRaceWithTwoUnitTypesWithMultipleRequirementsHasMultipleRequirements()
56 MockUnitType unitType2 = new MockUnitType("type2", "Type 2"); 55 MockUnitType unitType2 = new MockUnitType("type2", "Type 2");
57 UnitRequiresAtLeastNUnitsRequirement unitRequirement3 = new UnitRequiresAtLeastNUnitsRequirement(unitType2); 56 UnitRequiresAtLeastNUnitsRequirement unitRequirement3 = new UnitRequiresAtLeastNUnitsRequirement(unitType2);
58 unitType2.AddRequirement(unitRequirement3); 57 unitType2.AddRequirement(unitRequirement3);
59 race.AddUnitType(unitType2); 58 race.AddUnitType(unitType2);
60 ICollection<IRequirement> raceRequirements = race.GetRequirements(); 59 ICollection<IRequirement> raceRequirements = race.GetRequirements();
61 Assert.That(raceRequirements, Has.Count(3)); 60 Assert.That(raceRequirements, Has.Count.EqualTo(3));
62 Assert.That(raceRequirements, Has.Member(unitRequirement1)); 61 Assert.That(raceRequirements, Has.Member(unitRequirement1));
63 Assert.That(raceRequirements, Has.Member(unitRequirement2)); 62 Assert.That(raceRequirements, Has.Member(unitRequirement2));
64 Assert.That(raceRequirements, Has.Member(unitRequirement3)); 63 Assert.That(raceRequirements, Has.Member(unitRequirement3));
65 } 64 }
66 65
71 MockUnitType unitType1 = new MockUnitType("type1", "Type 1"); 70 MockUnitType unitType1 = new MockUnitType("type1", "Type 1");
72 race.AddUnitType(unitType1); 71 race.AddUnitType(unitType1);
73 MockContainedUnitType unitType2 = new MockContainedUnitType("type2", "Type 2"); 72 MockContainedUnitType unitType2 = new MockContainedUnitType("type2", "Type 2");
74 race.AddUnitType(unitType2); 73 race.AddUnitType(unitType2);
75 unitType1.AddContainedUnitType(unitType2); 74 unitType1.AddContainedUnitType(unitType2);
76 Assert.That(race.GetUnitTypes(MockCategory.GetCategory()), Has.Length(1)); 75 Assert.That(race.GetUnitTypes(MockCategory.GetCategory()), Has.Length.EqualTo(1));
77 Assert.That(race.GetUnitTypes(MockCategory.GetCategory()), Has.Member(unitType1)); 76 Assert.That(race.GetUnitTypes(MockCategory.GetCategory()), Has.Member(unitType1));
78 } 77 }
79 78
80 public override Race GetObject () 79 public override Race GetObject ()
81 { 80 {