public void Test() { Assert.Empty(game.AllPlayers()); SmsResponseMessage response = new SmsResponseMessage(); //successful join response = game.ProcessUserSmsMessage("1", $"join {session.Id}"); Assert.True(response.Success); Assert.True(response.HasMessage); Assert.StartsWith("you have joined the game", response.Body); Assert.Single(game.AllPlayers()); //failed join, already playing response = game.ProcessUserSmsMessage("1", $"join {session.Id}"); Assert.False(response.Success); Assert.StartsWith("you are already registered for a game", response.Body); Assert.Single(game.AllPlayers()); //successful join response = game.ProcessUserSmsMessage("2", $"JOIN {session.Id}"); Assert.StartsWith("you have joined the game", response.Body); Assert.Equal(2, game.AllPlayers().Count()); //failed leave, user is not playing, no response response = game.ProcessUserSmsMessage("3", $"LEAVE"); Assert.False(response.HasMessage); Assert.Equal(2, game.AllPlayers().Count()); //successful leave response = game.ProcessUserSmsMessage("2", $"leave"); Assert.StartsWith("you have left the game", response.Body); Assert.Single(game.AllPlayers()); }
public void Scenario2() { var answer = session.SelectAnswer("LINQ", 2); //correct response game.ProcessUserSmsMessage("1", "2"); var responses = session.Responses.Where(r => r.AnswerId == answer.Id); Assert.Single(responses); Assert.True(responses.First().IsCorrect); Assert.Equal("2", responses.First().Text); //incorrect response game.ProcessUserSmsMessage("2", "wrong answer"); var responses1 = session.Responses.Where(r => r.AnswerId == answer.Id); Assert.Equal(2, responses1.Count()); Assert.False(responses1.Skip(1).Take(1).First().IsCorrect); }