Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }