コード例 #1
0
        public void ClassInit()
        {
            field = new GreenField();

            pirate = field.CurrentPirate;
            var cells = field.Cells(4, 5);

            cells.AddPirate(pirate);

            amazonCell = new AmazonCell(5, 5);
            field.InsertCell(amazonCell);
        }
コード例 #2
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);
        }
コード例 #3
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);
        }