public void AddClassToHero_ThenSwitchClasses_ResultsInSwitchedClass_Test() { // Arrange var addClassMessage = ClassMessage.CreateAdd(_sequence.Next, _playerId, new[] { _warriorClass }); var switchClassMessage = ClassMessage.Create(_sequence.Next, _playerId, new[] { _thiefClass }, new[] { _warriorClass }); // Act _quest.AddMessage(_gameId, addClassMessage); var game = _quest.AddMessage(_gameId, switchClassMessage); // Assert Assert.Single(game.Score.Heroes.First().Classes); Assert.Equal(_thiefClass, game.Score.Heroes.First().Classes.First()); }