public ActionResult Guesses() { GuessHandler handler = new GuessHandler(); StackOverflowSearchVM searchResult = handler.GetRecentGuesses(); return(View(searchResult)); }
public void CanCreateGuessHandler() { var searchEngine = new Mock <ISearchEngine>().Object; var displayHandler = new Mock <IDisplayHandler>().Object; var handler = new GuessHandler(searchEngine, displayHandler); Assert.NotNull(handler); }
public void CanDisplayIterationInstructions() { var searchEngine = new Mock <ISearchEngine>().Object; var displayHandler = new Mock <IDisplayHandler>(); displayHandler.Setup(mock => mock.DisplayMessage(It.IsAny <string>())); var handler = new GuessHandler(searchEngine, displayHandler.Object); handler.DisplayGuessIterationInstructions(); displayHandler.Verify(mock => mock.DisplayMessage(It.IsAny <string>()), Times.Once); }
public void CanHandleGuessingWithBinarySearchEngine() { const int minimumNumber = 0; const int maximumNumber = 1000; const int expectedGuess = 500; var searchEngine = new BinarySearchEngine(minimumNumber, maximumNumber); var displayHandler = new Mock <IDisplayHandler>().Object; var handler = new GuessHandler(searchEngine, displayHandler); var actualGuess = handler.HandleGuess(minimumNumber, maximumNumber); Assert.Equal(expectedGuess, actualGuess); }
//Submitting the question detail model to this action to maintain the randomized answer sort order public async Task <ActionResult> SubmitGuess(StackOverflowQuestionVM vm) { GuessHandler guessHandler = new GuessHandler(); var answerID = vm.answers.FirstOrDefault(a => a.selected_answer == true).answer_id; GuessResult guessResult = guessHandler.SubmitGuess(answerID, vm.question_id, vm.title, vm.creation_date); StackOverflowDetailsVM result = await CallStackOverflow <StackOverflowDetailsVM>("questions", vm.question_id.ToString(), "order=desc&sort=activity&site=stackoverflow&filter=!-*jbN-o8P3E5"); var question = result.items.FirstOrDefault(); vm.body = question.body; foreach (var answer in vm.answers) { answer.body = question.answers.FirstOrDefault(a => a.answer_id == answer.answer_id).body; answer.creation_date = question.answers.FirstOrDefault(a => a.answer_id == answer.answer_id).creation_date; answer.selected_answer = answer.answer_id == answerID; answer.correct_answer = answer.answer_id == question.accepted_answer_id; answer.guess_count = guessResult.Answers.FirstOrDefault(a => a.AnswerID == answer.answer_id)?.GuessCount ?? 0; answer.guess_percentage = guessResult.Answers.FirstOrDefault(a => a.AnswerID == answer.answer_id)?.GuessPercentage ?? 0; } //Update score int total = 0, correct = 0; #pragma warning disable CS0168 // The variable 'grade' is declared but never used string grade; #pragma warning restore CS0168 // The variable 'grade' is declared but never used if (Int32.TryParse(HttpContext.Request.Cookies.Get("total")?.Value, out total)) { total++; Response.Cookies["total"].Value = total.ToString(); if (Int32.TryParse(HttpContext.Request.Cookies.Get("correct")?.Value, out correct)) { if (vm.answers.Where(a => a.selected_answer.Value && a.correct_answer.Value).Count() > 0) { correct++; Response.Cookies["correct"].Value = correct.ToString(); } } Response.Cookies["grade"].Value = GetLetterGrade(correct, total); } return(PartialView("_QuestionDetails", vm)); }
public void CanHandleGuessingWithMockSearchEngine() { const int minimumNumber = 0; const int maximumNumber = 1000; const int expectedGuess = 500; var searchEngine = new Mock <ISearchEngine>(); searchEngine.SetupGet(mock => mock.Guess).Returns(500); var displayHandler = new Mock <IDisplayHandler>().Object; var handler = new GuessHandler(searchEngine.Object, displayHandler); var actualGuess = handler.HandleGuess(minimumNumber, maximumNumber); searchEngine.VerifyGet(mock => mock.Guess, Times.Once); Assert.Equal(expectedGuess, actualGuess); }
/// <summary> /// Initializes all of the components. /// </summary> private void Initialize() { _searchEngine = new BinarySearchEngine(_minimumNumber, _maximumNumber); _match = new MatchFacade(MaximumRounds); _gameState = GameState.Start; _displayHandler = new DisplayHandler(); _computerChosenNumber = new NumberPicker(_displayHandler, _maximumNumber, _minimumNumber); // Need to set on click events prior to hiding the user interface var attemptGuess = new AttemptGuess(_displayHandler, _computerChosenNumber); attemptGuess.SetOnClickForAttemptGuess(); _displayHandler.HideUserInterface(); _guessHandler = new GuessHandler(_searchEngine, _displayHandler); _inputListener = new InputListener(); _inputHandler = new InputHandler(_displayHandler, _inputListener); }
void DisplayGuessHandler() { guessHandler = Object.Instantiate(battleManager.guessHandlerCardPrefab, battleManager.transform); guessHandler.onInputSubmitted += StoreHumanGuess; }