コード例 #1
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #2
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #3
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #4
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #5
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #6
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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();
        }
コード例 #7
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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();
        }
コード例 #8
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #9
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #10
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #11
0
ファイル: TestExtenCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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();
        }
コード例 #12
0
ファイル: TestSemiCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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();
        }
コード例 #13
0
ファイル: TestSemiCiv.cs プロジェクト: SPDiswal/ExtenCiv
        public void RedSettlerAt4x3_BuildsARedCity_WhenRedIsInTurn(IGame game)
        {
            // :::: ACT ::::
            game.PerformUnitActionAt(RedSettlerTile);

            // :::: ASSERT ::::
            game.UnitAt(RedSettlerTile).Should().BeNull();
            game.CityAt(RedSettlerTile).Should().NotBeNull();
        }
コード例 #14
0
ファイル: TestSemiCiv.cs プロジェクト: SPDiswal/ExtenCiv
        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);
        }
コード例 #15
0
ファイル: TestSemiCiv.cs プロジェクト: SPDiswal/ExtenCiv
        public void RedArcherAt2x0_DoesNotFortify_WhenBlueIsInTurn(IGame game)
        {
            // :::: ARRANGE ::::
            game.EndTurn();

            // :::: ACT ::::
            game.PerformUnitActionAt(RedArcherTile);

            // :::: ASSERT ::::
            game.UnitAt(RedArcherTile).RemainingMovement.Should().Be(1);
        }
コード例 #16
0
ファイル: TestSemiCiv.cs プロジェクト: SPDiswal/ExtenCiv
        public void RedArcherAt2x0_Fortifies_WhenRedIsInTurn(IGame game)
        {
            // :::: ACT ::::
            game.PerformUnitActionAt(RedArcherTile);

            // :::: ASSERT ::::
            game.UnitAt(RedArcherTile).RemainingMovement.Should().Be(0);
        }