public void RemoveUnknownHero_ThrowsException_Test() { // Arrange var quest = QuestFactory.CreateStored(out var gameStore, out var gameId); var removeBonnie = PlayerMessage.CreateRemove(1, new[] { bonnie }); // Act & Assert Assert.Throws <InvalidActionException>(() => quest.AddMessage(gameId, removeBonnie)); }
public void AddHero_ThenRemoveHim_ThenUndoIt_ResultsInAddedHero_Test() { // Arrange var quest = QuestFactory.CreateStored(out var gameStore, out var gameId); var addBonnie = PlayerMessage.CreateAdd(1, new[] { bonnie }); var removeBonnie = PlayerMessage.CreateRemove(2, new[] { bonnie }); // Act quest.AddMessage(gameId, addBonnie); quest.AddMessage(gameId, removeBonnie); var game = quest.Undo(gameId); // Assert Assert.Single(game.Score.Heroes); Assert.Equal(bonnie.Name, game.Score.Heroes.First().Player.Name); Assert.Equal(bonnie.Gender, game.Score.Heroes.First().Player.Gender); }