public void IsFrozenTest(bool shouldFreeze) { // Arrange var gnomePositions = new Dictionary <IGnome, BoardPosition>(); var board = MockRepository.GenerateMock <IBoard>(); var gnomeMovement = new GnomeMovement(board, gnomePositions); var gnome1 = new Gnome(1, 1, 1, gnomeMovement); var gnome2 = new Gnome(1, 1, 1, gnomeMovement); gnomePositions.Add(gnome1, new BoardPosition(0, 0, null)); gnomePositions.Add(gnome2, new BoardPosition(0, shouldFreeze ? 0 : 1, null)); // Act var isFrozen = gnomeMovement.IsFrozen(gnome1); // Assert Assert.AreEqual(shouldFreeze, isFrozen); }
public void TryMoveEast(bool isBlocked) { // Arrange var gnomePositions = new Dictionary <IGnome, BoardPosition>(); var board = MockRepository.GenerateMock <IBoard>(); var gnomeMovement = new GnomeMovement(board, gnomePositions); var gnome = new Gnome(1, 1, 1, gnomeMovement); gnomePositions.Add(gnome, startPosition); var eastPosition = new BoardPosition(2, 1, isBlocked ? wallTile : corridorTile); board.Stub(x => x.GetPosition(2, 1)).Return(eastPosition); // Act var couldMove = gnomeMovement.TryMove(gnome, Direction.East); // Assert Assert.AreEqual(isBlocked, !couldMove); var expectedPosition = isBlocked ? startPosition : eastPosition; Assert.AreEqual(expectedPosition, gnomePositions[gnome]); }