Mercurial > repos > IBDev-IBBoard.WarFoundry.API.Tests
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 { |