Ejemplo n.º 1
0
        public void RemoveNotExistantDungeon_ThrowsException_Test()
        {
            // Arrange
            var quest         = QuestFactory.CreateStored(out var gameStore, out var gameId);
            var removeDungeon = DungeonMessage.CreateRemove(1, new[] { epicDungeon });

            // Act & Assert
            Assert.Throws <InvalidActionException>(() => quest.AddMessage(gameId, removeDungeon));
        }
Ejemplo n.º 2
0
        public void AddDungeon_ThenRemoveIt_ResultsInNoChange_Test()
        {
            // Arrange
            var quest         = QuestFactory.CreateStored(out var gameStore, out var gameId);
            var addDungeon    = DungeonMessage.CreateAdd(1, new[] { epicDungeon });
            var removeDungeon = DungeonMessage.CreateRemove(2, new[] { epicDungeon });

            // Act
            quest.AddMessage(gameId, addDungeon);
            var game = quest.AddMessage(gameId, removeDungeon);

            // Assert
            Assert.Empty(game.Score.Dungeons);
        }
Ejemplo n.º 3
0
        public void AddDungeon_ThenRemove_ThenUndoIt_ResultsInAddedDungeon_Test()
        {
            // Arrange
            var quest         = QuestFactory.CreateStored(out var gameStore, out var gameId);
            var addDungeon    = DungeonMessage.CreateAdd(1, new[] { epicDungeon });
            var removeDungeon = DungeonMessage.CreateRemove(2, new[] { epicDungeon });

            // Act
            quest.AddMessage(gameId, addDungeon);
            quest.AddMessage(gameId, removeDungeon);
            var game = quest.Undo(gameId);

            // Assert
            Assert.Single(game.Score.Dungeons);
            Assert.Equal(epicDungeon, game.Score.Dungeons.First());
        }