コード例 #1
0
        public void HeMayComes()
        {
            // Act
            field.MovePirateTo(pirate, amazonCell);

            // Assert
            amazonCell.Pirates.ShouldContain().Exact(pirate);
        }
コード例 #2
0
        public void OldCellShouldReleasePirate()
        {
            //Arrange
            var cell = field.Cells(3, 4);

            cell.AddPirate(pirate);

            //Act
            field.MovePirateTo(pirate, field.Cells(4, 4));

            //Assert
            cell.Pirates
            .ShouldBeEmpty();
        }
コード例 #3
0
        public void ShouldBeAwareOfRestricedDirections()
        {
            //Arrange
            var field  = new GreenField();
            var pirate = field.CurrentPirate;

            //   1 2
            // 5 p <---- так ходить нельзя
            //Act                                                 // 6s
            field.MovePirateTo(pirate, field.Cells(1, 5));        // 7
                                                                  // 8
            //Assert
            pirate.Position
            .ShouldBeEqual(new Position(0, 6));
        }
コード例 #4
0
        public void PirateCanMoveOnlyFromWaterToWater()
        {
            //Arrange
            var field  = new GreenField();
            var pirate = field.CurrentPirate;

            pirate.Position = new Position(0, 0);

            var waterCell = new WaterCell(1, 0);

            field.InsertCell(waterCell);

            //Act
            field.MovePirateTo(pirate, waterCell);

            //Assert
            pirate.Position.ShouldBeEqual(waterCell.Position);
        }
コード例 #5
0
ファイル: WhenPirateComes.cs プロジェクト: VioletTape/Jackal
        public void PathShouldContainCroco()
        {
            // Arrange
            var field = new GreenField();

            pirate = field.CurrentPirate;

            var startCell = field.Cells(3, 3);
            var crocoCell = new CrocoCell(4, 3);

            field.InsertCell(crocoCell);

            field.SetPirateOnCell(pirate, startCell);

            // Act
            field.MovePirateTo(pirate, crocoCell);

            // Assert
            pirate.Path.ShouldContain()
            .Elements(startCell.Position, crocoCell.Position, crocoCell.Position, startCell.Position);
        }