Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }