public void HeMayComes() { // Act field.MovePirateTo(pirate, amazonCell); // Assert amazonCell.Pirates.ShouldContain().Exact(pirate); }
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(); }
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)); }
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); }
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); }