public void UndoTest() { var map = new SmallMap().BuildMap(); var attacker = new CerberusWarrior(Position.ZERO); var defender = new CentaurWarrior(new Position(1, 1)); AttackAction action = new AttackAction(map, attacker, defender); action.Do(); var movePointsLost = 2; action.Undo(); Assert.AreEqual(action.MovePointsLost, movePointsLost); Assert.AreEqual(attacker.Position, Position.ZERO); Assert.AreEqual(action.Loser.InitialHealthPoints, action.Loser.HealthPoints); Assert.AreEqual(attacker.MovePoints, Unit.MAX_MOVE_POINTS); }