Example #1
0
        // Write a unit test that checks that returned question list length is the same as static number in class
        public List <PlayerQuestionAnswerDM> GenerateQuestionList(PlayerDM player)
        {
            var result    = new List <PlayerQuestionAnswerDM>();
            var list      = new HashSet <int>();
            var questions = _db.Questions.ToList();
            var rand      = new Random();

            for (int i = 0; i < QUESTIONS_PER_PLAYER; i++)
            {
                var value = rand.Next(0, questions.Count() - 1);
                var diff  = 0;
                while (!list.Add(value))
                {
                    var temp = Math.Abs(diff) + 1;
                    diff   = diff > 0 ? temp * -1 : temp;
                    value += diff;
                    if (value < 0)
                    {
                        value += questions.Count();
                    }
                    if (value >= questions.Count())
                    {
                        value %= questions.Count();
                    }
                }
                result.Add(new PlayerQuestionAnswerDM()
                {
                    Player         = player,
                    Question       = questions[list.Last()],
                    PQA_IsAnswered = false
                });
            }
            return(result);
        }
Example #2
0
        //Write unit test that confirms that the player is not created with existing id
        public PlayerDM InstantiatePlayer(int user_id)
        {
            var player = new PlayerDM()
            {
                P_ID = user_id
            };

            player.PlayerQuestions = GenerateQuestionList(player);
            _db.Players.Add(player);
            _db.SaveChanges();
            return(player);
        }