public void BlueCityAt4x1_ProducesABlueSettler_AfterFiveRounds(IGame game) { // :::: ARRANGE :::: game.EndTurn(); game.ChangeCityProductionProjectAt(BlueCityTile, Settler); // :::: ACT :::: SkipRounds(game, 5); // :::: ASSERT :::: game.UnitAt(BlueCityTile).Owner.Should().Be(Blue); game.UnitAt(BlueCityTile).Type.Should().Be(Settler); game.UnitAt(BlueCityTile).RemainingMovement.Should().Be(1); }
public void RedSettlerAt4x3_DoesNotMoveMoreThanOneTileDuringARound(IGame game) { // :::: ARRANGE :::: game.MoveUnit(RedSettlerTile, To(4, 2)); // :::: ACT :::: game.MoveUnit(From(4, 2), RedSettlerTile); // :::: ASSERT :::: game.UnitAt(RedSettlerTile).Should().BeNull(); game.UnitAt(Location(4, 2)).Owner.Should().Be(Red); game.UnitAt(Location(4, 2)).Type.Should().Be(Settler); game.UnitAt(Location(4, 2)).RemainingMovement.Should().Be(0); }
public void RedCityAt1x1_ProducesARedArcher_AfterTwoRounds(IGame game) { // :::: ARRANGE :::: game.ChangeCityProductionProjectAt(RedCityTile, Archer); // :::: ACT :::: SkipRounds(game, 2); // :::: ASSERT :::: game.UnitAt(RedCityTile).Owner.Should().Be(Red); game.UnitAt(RedCityTile).Type.Should().Be(Archer); game.UnitAt(RedCityTile).RemainingMovement.Should().Be(1); }
public void RedArcher_DoesNotMoveOntoTheRedSettlerAt4x3(IGame game) { // :::: ARRANGE :::: game.MoveUnit(RedArcherTile, To(3, 1)); SkipRounds(game, 1); game.MoveUnit(From(3, 1), To(4, 2)); SkipRounds(game, 1); // :::: ACT :::: game.MoveUnit(From(4, 2), RedSettlerTile); // :::: ASSERT :::: game.UnitAt(Location(4, 2)).Owner.Should().Be(Red); game.UnitAt(Location(4, 2)).Type.Should().Be(Archer); game.UnitAt(Location(4, 2)).RemainingMovement.Should().Be(1); game.UnitAt(RedSettlerTile).Owner.Should().Be(Red); game.UnitAt(RedSettlerTile).Type.Should().Be(Settler); game.UnitAt(RedSettlerTile).RemainingMovement.Should().Be(1); }
public void BlueLegionAt3x2_DoesNotMoveMoreThanOneTileDuringARound(IGame game) { // :::: ARRANGE :::: game.EndTurn(); game.MoveUnit(BlueLegionTile, To(3, 1)); // :::: ACT :::: game.MoveUnit(From(3, 1), BlueLegionTile); // :::: ASSERT :::: game.UnitAt(BlueLegionTile).Should().BeNull(); game.UnitAt(Location(3, 1)).Owner.Should().Be(Blue); game.UnitAt(Location(3, 1)).Type.Should().Be(Legion); game.UnitAt(Location(3, 1)).RemainingMovement.Should().Be(0); }
public void RedArcherAt2x0_DoesNotMoveToOceansAt1x0(IGame game) { // :::: ACT :::: game.MoveUnit(RedArcherTile, OceansTile); // :::: ASSERT :::: game.UnitAt(RedArcherTile).Owner.Should().Be(Red); game.UnitAt(RedArcherTile).Type.Should().Be(Archer); game.UnitAt(RedArcherTile).RemainingMovement.Should().Be(1); game.UnitAt(OceansTile).Should().BeNull(); }
public void BlueLegionAt3x2_DoesNotMoveToMountainsAt2x2(IGame game) { // :::: ACT :::: game.MoveUnit(BlueLegionTile, MountainsTile); // :::: ASSERT :::: game.UnitAt(BlueLegionTile).Owner.Should().Be(Blue); game.UnitAt(BlueLegionTile).Type.Should().Be(Legion); game.UnitAt(BlueLegionTile).RemainingMovement.Should().Be(1); game.UnitAt(MountainsTile).Should().BeNull(); }
public void RedArcher_DefeatsTheBlueLegionAt3x2(IGame game) { // :::: ARRANGE :::: game.MoveUnit(RedArcherTile, To(3, 1)); SkipRounds(game, 1); // :::: ACT :::: game.MoveUnit(From(3, 1), BlueLegionTile); // :::: ASSERT :::: game.UnitAt(Location(3, 1)).Should().BeNull(); game.UnitAt(BlueLegionTile).Owner.Should().Be(Red); game.UnitAt(BlueLegionTile).Type.Should().Be(Archer); game.UnitAt(BlueLegionTile).RemainingMovement.Should().Be(0); }
public void BlueLegion_DefeatsTheRedSettlerAt4x3(IGame game) { // :::: ARRANGE :::: game.EndTurn(); // :::: ACT :::: game.MoveUnit(BlueLegionTile, RedSettlerTile); // :::: ASSERT :::: game.UnitAt(BlueLegionTile).Should().BeNull(); game.UnitAt(RedSettlerTile).Owner.Should().Be(Blue); game.UnitAt(RedSettlerTile).Type.Should().Be(Legion); game.UnitAt(RedSettlerTile).RemainingMovement.Should().Be(0); }
public void RedArcherAt2x0_MovesTo2x1_WhenRedIsInTurn(IGame game) { // :::: ACT :::: game.MoveUnit(RedArcherTile, To(2, 1)); // :::: ASSERT :::: game.UnitAt(RedArcherTile).Should().BeNull(); game.UnitAt(Location(2, 1)).Owner.Should().Be(Red); game.UnitAt(Location(2, 1)).Type.Should().Be(Archer); game.UnitAt(Location(2, 1)).RemainingMovement.Should().Be(0); }
public void RedArcherAt2x0_DoesNotMoveTo2x1_WhenBlueIsInTurn(IGame game) { // :::: ARRANGE :::: game.EndTurn(); // :::: ACT :::: game.MoveUnit(RedArcherTile, To(2, 1)); // :::: ASSERT :::: game.UnitAt(RedArcherTile).Owner.Should().Be(Red); game.UnitAt(RedArcherTile).Type.Should().Be(Archer); game.UnitAt(RedArcherTile).RemainingMovement.Should().Be(1); game.UnitAt(Location(2, 1)).Should().BeNull(); }
public void RedSettlerAt4x3_DoesNotBuildACity_WhenBlueIsInTurn(IGame game) { // :::: ARRANGE :::: game.EndTurn(); // :::: ACT :::: game.PerformUnitActionAt(RedSettlerTile); // :::: ASSERT :::: game.UnitAt(RedSettlerTile).Should().NotBeNull(); game.CityAt(RedSettlerTile).Should().BeNull(); }
public void RedSettlerAt4x3_BuildsARedCity_WhenRedIsInTurn(IGame game) { // :::: ACT :::: game.PerformUnitActionAt(RedSettlerTile); // :::: ASSERT :::: game.UnitAt(RedSettlerTile).Should().BeNull(); game.CityAt(RedSettlerTile).Should().NotBeNull(); }
public void BlueChariotAt4x1_DoesNotFortify_WhenRedIsInTurn(IGame game) { // :::: ARRANGE :::: game.EndTurn(); game.ChangeCityProductionProjectAt(BlueCityTile, Chariot); SkipRounds(game, 4); game.EndTurn(); // :::: ACT :::: game.PerformUnitActionAt(BlueCityTile); // :::: ASSERT :::: game.UnitAt(BlueCityTile).RemainingMovement.Should().Be(1); }
public void RedArcherAt2x0_DoesNotFortify_WhenBlueIsInTurn(IGame game) { // :::: ARRANGE :::: game.EndTurn(); // :::: ACT :::: game.PerformUnitActionAt(RedArcherTile); // :::: ASSERT :::: game.UnitAt(RedArcherTile).RemainingMovement.Should().Be(1); }
public void RedArcherAt2x0_Fortifies_WhenRedIsInTurn(IGame game) { // :::: ACT :::: game.PerformUnitActionAt(RedArcherTile); // :::: ASSERT :::: game.UnitAt(RedArcherTile).RemainingMovement.Should().Be(0); }