// 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); }
//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); }