public async Task <IActionResult> PutQuestionResult([FromRoute] int id, [FromBody] QuestionResult questionResult)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != questionResult.Id)
            {
                return(BadRequest());
            }

            _context.Entry(questionResult).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!QuestionResultExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #2
0
        private void m_Send_Click(Object sender, EventArgs e)
        {
            // Создание экземпляра результата ответа студента
            QuestionResult _result = new QuestionResult(Environment.MachineName, _question, "");

            // Инициализация результата в зависимости от типа вопроса
            switch (materialTabControl2.SelectedIndex)
            {
            case 0:
                if (listAnswers.SelectedIndex > -1)
                {
                    _result.Answer = listAnswers.Items[listAnswers.SelectedIndex].ToString();
                    m_Send.Enabled = false;
                }
                break;

            case 1:
                if (textBox1.Text != "")
                {
                    _result.Answer = textBox1.Text;
                    m_Send.Enabled = false;
                }
                break;
            }

            if (!m_Send.Enabled)
            {
                // Отправка данных преподавателю
                Byte[] Buffer = Encoding.UTF8.GetBytes(_result.ToString());
                Program.Server.Send(Program.Config.Server, Program.Config.Port, Buffer);

                materialTabControl2.Enabled = false;
            }
        }
        private static Highscore CreateHighscore(string username, Dictionary dictionary, int seconds)
        {
            var questionResult = new QuestionResult();

            questionResult.AddAnswer(new Answer(true, DateTime.Now, TimeSpan.FromSeconds(seconds), null));
            return(new Highscore(username, dictionary.Id, questionResult));
        }
        public async Task <QuestionResult> Pass(ChatRoom chat, UserWordModel word,
                                                UserWordModel[] examList)
        {
            var translations = string.Join(", ", word.TextTranslations.Shuffle().Take(3));

            var variants = examList
                           .Where(e => e.AllTranslationsAsSingleString != word.AllTranslationsAsSingleString)
                           .Select(e => string.Join(", ", e.TextTranslations.Shuffle().Take(3)))
                           .Shuffle()
                           .Take(5)
                           .Append(translations)
                           .ToList();

            var msg = QuestionMarkups.TranslateTemplate(word.Word, chat.Texts.ChooseTheTranslation);
            await chat.SendMarkdownMessageAsync(msg, InlineButtons.CreateVariants(variants));

            var choice = await chat.TryWaitInlineIntKeyboardInput();

            if (choice == null)
            {
                return(QuestionResult.RetryThisQuestion);
            }

            var answer = variants[choice.Value].Split(",")
                         .Select(e => e.Trim()).ToList();

            return(!answer.Except(word.TextTranslations).Any()
                ? QuestionResult.Passed(chat.Texts)
                : QuestionResult.Failed(chat.Texts));
        }
        public QuestionResult NextTip(string answer)
        {
            var editedAnswer = answer.ToLower().Replace(" ", "");
            Dictionary <string, string> answerMap = new Dictionary <string, string>();

            answerMap["hurra"]     = "YES! Da var vi igang. I ferden mot skatten må vi finne ut av antall etasjer Risvollan blokka har.";
            answerMap["16"]        = "Kjempe bra. Hva er navnet på skobutikken der Adam Ondra klatret verdens vanskligste rute";
            answerMap["falkanger"] = "Konge, hopp i bilen, jeg lukter skatt. Da bærer turen til Utehallen, jeg trenger å vite hvem utehallen har et opplegg for, bør være mulig å finne ut av fra utsiden.";
            answerMap["firmaer"]   = "Hurra! For å komme et skritt nærmere skatten tror jeg at jeg trenger navnet på den rosa 5+ ruta jeg klatret, nå som vi først er her.";
            answerMap["firma"]     = "Hurra! For å komme et skritt nærmere skatten tror jeg at jeg trenger navnet på den rosa 5+ ruta jeg klatret, nå som vi først er her.";
            answerMap["rosa"]      = "Tommel opp. For å komme oss videre går turen til Klatresenteret der de har ukas Bulder som vanligvis er veldig vanskelig, den står skrudd sammen med en annen mye enklere rute som heter Ukas...";
            answerMap["navnløs"]   = "Tommel opp. For å komme oss videre går turen til Klatresenteret der de har ukas Bulder som vanligvis er veldig vanskelig, den står skrudd sammen med en annen mye enklere rute som heter Ukas...";
            answerMap["pudding"]   = "Fantastisk! Da nærmer turen seg slutten og den gjemte skatten. Som alle gode avslutninger ender den på IKEA, For å komme oss i mål trenger vi å vite hvilke avdeling som er nummer 5 på oversiktskartet";
            answerMap["kjøkken"]   = "Gratulerer skatten er din, den gjemmer seg der vi startet. Du må finne den gjemte skatten der jeg gravde den ned i undergrunnen på boden.";

            var qRes = new QuestionResult();

            qRes.Answer = answer;
            if (answerMap.ContainsKey(editedAnswer))
            {
                qRes.Hint          = answerMap[editedAnswer];
                qRes.CorrectAnswer = true;
            }
            else
            {
                qRes.Hint          = "Å nei, jeg tror svaret ditt var galt, skriv inn forrige korrekte svar for å få tilbake hintet";
                qRes.CorrectAnswer = false;
            }
            return(qRes);
        }
        //method for when a question is submitted
        public void SubmitQuestionAnswer(int idAnswer, int idParticipant, int idQuestionList, string startTime)
        {
            QuestionResult questionResult = new QuestionResult()
            {
                QuestionList_idQuestionList = idQuestionList,
                AnswerOption_idAnswer       = idAnswer,
                Participant_idParticipant   = idParticipant,
                startTime = DateTime.ParseExact(startTime, "yyyy:MM:dd HH:mm:ss:fff", null),
                endTime   = DateTime.Now,
                attempt   = TempData["attempt"] != null ? (int)TempData["attempt"] : 1
            };

            TempData.Keep();
            db.QuestionResults.Add(questionResult);
            db.SaveChanges();

            questionResult = db.QuestionResults.Include(x => x.AnswerOption).Include(x => x.Participant).FirstOrDefault(x => x.idQuestionResult == questionResult.idQuestionResult);

            int    idQuestion = questionResult.AnswerOption.Question_idQuestion;
            string fullName   = questionResult.Participant.fullName;

            var hubContext = GlobalHost.ConnectionManager.GetHubContext <LiveHub>();

            hubContext.Clients.Group("Members").SubmitedAnswer(new SubmitedDto {
                IdAnswer = idAnswer, IdQuestionList = idQuestionList, IdQuestion = idQuestion, IdParticipant = idParticipant, FullName = fullName
            });
        }
Пример #7
0
        public async Task <QuestionResult> Pass(ChatRoom chat, UserWordModel word,
                                                UserWordModel[] examList)
        {
            var originTranslation = word.RuTranslations.ToList().GetRandomItemOrNull();

            var variants = examList.SelectMany(e => e.TextTranslations)
                           .Where(e => !word.TextTranslations.Contains(e))
                           .Distinct()
                           .Shuffle()
                           .Take(5)
                           .Append(originTranslation.Word)
                           .Shuffle()
                           .ToList();

            var msg = QuestionMarkups.TranslateTemplate(word.Word, chat.Texts.ChooseTheTranslation);

            await chat.SendMarkdownMessageAsync(msg, InlineButtons.CreateVariants(variants));

            var choice = await chat.TryWaitInlineIntKeyboardInput();

            if (choice == null)
            {
                return(QuestionResult.RetryThisQuestion);
            }

            var selected = variants[choice.Value];

            return(word.TextTranslations.Any(t => t.AreEqualIgnoreCase(selected))
                ? QuestionResult.Passed(chat.Texts)
                : QuestionResult.Failed(chat.Texts));
        }
Пример #8
0
        public void ShouldReturnCorrectScore(double seconds, int numberOfCorrectAnswers, int numberOfIncorrectAnswers, int expectedScore)
        {
            var questionResult = new QuestionResult();

            for (var i = 0; i < numberOfCorrectAnswers; i++)
            {
                questionResult.AddAnswer(new Answer(true,
                                                    DateTime.Now,
                                                    TimeSpan.FromSeconds(seconds /
                                                                         (numberOfCorrectAnswers +
                                                                          numberOfIncorrectAnswers)), null));
            }

            for (var i = 0; i < numberOfIncorrectAnswers; i++)
            {
                questionResult.AddAnswer(new Answer(false,
                                                    DateTime.Now,
                                                    TimeSpan.FromSeconds(seconds /
                                                                         (numberOfCorrectAnswers +
                                                                          numberOfIncorrectAnswers)), null));
            }

            var score = _objectUnderTest.CalculateScore(questionResult);

            Assert.AreEqual(expectedScore, score);
        }
Пример #9
0
        private async Task <QuestionResult> GetQuestionsFromAPIAsync(List <int> listOfCategoryIds)
        {
            QuestionResult questionsObject = new QuestionResult();

            foreach (var categoryId in listOfCategoryIds)
            {
                //Getting 1 questing for each category from the Trivia API
                string url = $"https://opentdb.com/api.php?amount=1&category={categoryId}&type=multiple";

                JObject json = await this.GetJsonStreamFromUrlAsync(url);

                json.Property("response_code").Remove();
                var jsonString = json.ToString();

                var question      = JsonConvert.DeserializeObject <QuestionResult>(jsonString);
                var questionToAdd = question.Questions.First();

                // Adding the correct answer to the options list as the API passed it as separate string property
                // It will become last element of the array but there is shuffle method to shuffle the answers
                // TODO: Make it work better
                questionToAdd.Options.Add(questionToAdd.CorrectAnswer);

                questionsObject.Questions.Add(questionToAdd);
            }

            return(questionsObject);
        }
Пример #10
0
        public async Task <QuestionResult> SaveQuestionResult(QuestionResult e)
        {
            db.QuestionResult.Add(e);
            await db.SaveChangesAsync();

            return(e);
        }
Пример #11
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Score,Answered,CorrectAnswer,QuestionId,UserId")] QuestionResult questionResult)
        {
            if (id != questionResult.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(questionResult);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!QuestionResultExists(questionResult.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["QuestionId"] = new SelectList(_context.Questions, "Id", "Id", questionResult.QuestionId);
            ViewData["UserId"]     = new SelectList(_context.Users, "Id", "Id", questionResult.UserId);
            return(View(questionResult));
        }
        private static Highscore CreateHighscore(Dictionary dictionary1)
        {
            var questionResult = new QuestionResult();

            questionResult.AddAnswer(new Answer(true, DateTime.Now, TimeSpan.FromSeconds(1), dictionary1.Entries[0]));
            return(new Highscore("Frank", dictionary1.Id, questionResult));
        }
        public async Task <QuestionResult> Pass(ChatRoom chat, UserWordModel word, UserWordModel[] examList)
        {
            var(phrase, translation) = word.GetExamplesThatLoadedAndFits().GetRandomItemOrNull();
            if (phrase == null)
            {
                return(QuestionResult.Impossible);
            }
            var(enPhrase, ruPhrase) = phrase.Deconstruct();

            var allWordsWithPhraseOfSimilarTranslate = examList
                                                       .SelectMany(e => e.Examples)
                                                       .Where(p => p.TranslatedPhrase.AreEqualIgnoreCase(ruPhrase))
                                                       .Select(e => e.OriginWord)
                                                       .ToList();

            var enReplaced = enPhrase.Replace(phrase.OriginWord, "\\.\\.\\.");

            if (enReplaced == enPhrase)
            {
                return(QuestionResult.Impossible);
            }

            await chat.SendMarkdownMessageAsync(
                QuestionMarkups.TranslatesAsTemplate(
                    ruPhrase,
                    chat.Texts.translatesAs,
                    enReplaced,
                    chat.Texts.EnterMissingWord + ":"));

            var enter = await chat.WaitNonEmptyUserTextInputAsync();

            if (enter.IsRussian())
            {
                await chat.SendMessageAsync(chat.Texts.EnglishInputExpected);

                return(QuestionResult.RetryThisQuestion);
            }

            var(closestWord, comparation) = allWordsWithPhraseOfSimilarTranslate.GetClosestTo(enter.Trim());
            if (comparation == StringsCompareResult.Equal)
            {
                return(QuestionResult.Passed(chat.Texts));
            }
            if (enter.Contains(word.Word, StringComparison.InvariantCultureIgnoreCase) && enPhrase.Contains(enter))
            {
                //if user enters whole world (as it is in phrase) - it is ok
                return(QuestionResult.Passed(chat.Texts));
            }

            if (comparation == StringsCompareResult.SmallMistakes)
            {
                await chat.SendMessageAsync(chat.Texts.TypoAlmostRight);

                return(QuestionResult.RetryThisQuestion);
            }

            return(QuestionResult.Failed(
                       $"{chat.Texts.FailedOriginExampleWasMarkdown}\r\n*\"{phrase.OriginPhrase}\"*",
                       chat.Texts));
        }
Пример #14
0
 public Task <QuestionResult> GetByIdAsync(int id)
 {
     return(Task.Run(() => {
         QuestionResult book = db.QuestionResults.Find(id);
         return book;
     }));
 }
Пример #15
0
        public ActionResult Corrigir(ImageCandidate ic)
        {
            AccessControl ac = new AccessControl();

            if (ac.GetUser("Administrator") == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            if (ModelState.IsValid)
            {
                QuestionResult e = new QuestionResult();
                e.CandidateId = ic.CandidateId;
                e.QuestionId  = ic.QuestiontId;
                e.Grade       = Convert.ToDecimal(Request.Form["Grade"].ToString());
                db.QuestionResult.Add(e);
                //db.SaveChanges();

                ic.InUse           = false;
                db.Entry(ic).State = EntityState.Modified;
                db.SaveChanges();

                IEnumerable <Grade> dbList = GetGrade(ic.QuestiontId);
                ViewBag.Grade = new SelectList(dbList, "Id", "Grade1");

                int QuestionId = ic.QuestiontId;
                return(ShowView(QuestionId, true));
            }

            ModelState.AddModelError("error", "Erro inesperado. Tente novamente");
            return(RedirectToAction("Index"));
        }
        public async Task <QuestionResult> Pass(ChatRoom chat, UserWordModel word, UserWordModel[] examList)
        {
            var originTranslation = word.RuTranslations.GetRandomItemOrNull();

            if (string.IsNullOrWhiteSpace(originTranslation.Transcription) || originTranslation.Transcription != "")
            {
                return(QuestionResult.Impossible);
            }

            var variants = examList.Where(e => e.RuTranslations.All(t => t.Transcription != originTranslation.Transcription))
                           .SelectMany(e => e.TextTranslations)
                           .Take(5)
                           .Append(originTranslation.Word)
                           .Shuffle()
                           .ToList();


            var msg = QuestionMarkups.TranscriptionTemplate(originTranslation.Transcription, chat.Texts.ChooseWhichWordHasThisTranscription);
            await chat.SendMarkdownMessageAsync(msg, InlineButtons.CreateVariants(variants));

            var choice = await chat.TryWaitInlineIntKeyboardInput();

            if (choice == null)
            {
                return(QuestionResult.RetryThisQuestion);
            }

            if (word.TextTranslations.Contains(variants[choice.Value]))
            {
                return(QuestionResult.Passed(chat.Texts));
            }
            return(QuestionResult.Failed(chat.Texts));
        }
        public Task <QuestionResult> ShowMessageBox(string header, string content)
        {
            var topActivity = Mvx.Resolve <IMvxAndroidCurrentTopActivity>().Activity;

            _isLocked = true;
            var task = new Task <QuestionResult>(WaitForResult);

            task.Start();

            var builder = new AlertDialog.Builder(topActivity);

            builder.SetTitle(header);
            builder.SetMessage(content);
            builder.SetCancelable(true);
            builder.SetNegativeButton(LocalizationResources.Cancel, delegate {
                _result   = QuestionResult.Cancel;
                _isLocked = false;
            });
            builder.SetPositiveButton(LocalizationResources.Ok, delegate {
                _result   = QuestionResult.Ok;
                _isLocked = false;
            });
            builder.Show();

            return(task);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            QuestionResult e = db.QuestionResult.Find(id);

            db.QuestionResult.Remove(e);
            db.SaveChangesAsync();
            return(RedirectToAction("Index"));
        }
Пример #19
0
 public void Initialize(List <DictionaryEntry> dictionaryEntries)
 {
     _dictionaryEntryPicker.Initialize(dictionaryEntries);
     _questionResult = new QuestionResult();
     Answer          = string.Empty;
     IsInAnswerMode  = true;
     GetNextEntry();
 }
Пример #20
0
 public void Delete(QuestionResult entity)
 {
     if (entity != null)
     {
         db.Entry(entity).State = EntityState.Deleted;
         db.SaveChanges();
     }
 }
 public void AddQuestionResult(QuestionResult questionResult)
 {
     _chineseCharacterTrainerService.AddQuestionResult(questionResult);
     foreach (var answer in questionResult.Answers)
     {
         _chineseCharacterTrainerService.AddAnswer(answer);
     }
 }
Пример #22
0
        public void ShouldSaveChangesWhenAddingQuestionResult()
        {
            var questionResult = new QuestionResult();

            _objectUnderTest.AddQuestionResult(questionResult);

            _chineseTrainerContextMock.Verify(p => p.SaveChanges());
        }
Пример #23
0
        public void ShouldAddQuestionResultToContextWhenAdding()
        {
            var questionResult = new QuestionResult();

            _objectUnderTest.AddQuestionResult(questionResult);

            _chineseTrainerContextMock.Verify(p => p.Add(questionResult));
        }
Пример #24
0
        public async Task <QuestionResult> Pass(ChatRoom chat, UserWordModel word, UserWordModel[] examList)
        {
            var msg = QuestionMarkups.TranslateTemplate(word.AllTranslationsAsSingleString, chat.Texts.DoYouKnowTranslationMarkdown);
            var id  = Rand.Next();

            await chat.SendMarkdownMessageAsync(msg,
                                                new InlineKeyboardButton()
            {
                CallbackData = id.ToString(),
                Text         = chat.Texts.ShowTheTranslationButton
            });

            while (true)
            {
                var update = await chat.WaitUserInputAsync();

                if (update.CallbackQuery?.Data == id.ToString())
                {
                    break;
                }
                var input = update.Message?.Text;
                if (!string.IsNullOrWhiteSpace(input))
                {
                    if (word.Word.AreEqualIgnoreCase(input))
                    {
                        return(QuestionResult.Passed(chat.Texts));
                    }
                    await chat.SendMessageAsync(chat.Texts.ItIsNotRightTryAgain);
                }
            }

            await chat.SendMarkdownMessageAsync($"_{chat.Texts.TranslationIs} _\r\n" +
                                                $"*\"{word.Word}\"*\r\n\r\n" +
                                                $"{chat.Texts.DidYouGuess}",
                                                new[] {
                new[] {
                    new InlineKeyboardButton {
                        CallbackData = "1",
                        Text         = chat.Texts.YesButton
                    },
                    new InlineKeyboardButton {
                        CallbackData = "0",
                        Text         = chat.Texts.NoButton
                    }
                }
            }
                                                );

            var choice = await chat.WaitInlineIntKeyboardInput();

            return(choice == 1
                ? QuestionResult.Passed(
                       chat.Texts.PassedOpenIHopeYouWereHonestMarkdown,
                       chat.Texts.PassedHideousWell2)
                : QuestionResult.Failed(
                       chat.Texts.FailedOpenButYouWereHonestMarkdown,
                       chat.Texts.FailedHideousHonestyIsGoldMarkdown));
        }
        public async Task <QuestionResult> Pass(
            ChatRoom chat, UserWordModel word,
            UserWordModel[] examList)
        {
            var(phrase, translation) = word.GetExamplesThatLoadedAndFits().GetRandomItemOrNull();
            if (phrase == null)
            {
                return(QuestionResult.Impossible);
            }
            var(enPhrase, ruPhrase) = phrase.Deconstruct();
            var replacedRuPhrase = ruPhrase.Replace(phrase.TranslatedWord, "\\.\\.\\.");

            if (replacedRuPhrase == ruPhrase)
            {
                return(QuestionResult.Impossible);
            }

            await chat.SendMarkdownMessageAsync(
                QuestionMarkups.TranslatesAsTemplate(
                    enPhrase,
                    chat.Texts.translatesAs,
                    replacedRuPhrase,
                    chat.Texts.EnterMissingWord + ":"));

            var enter = await chat.WaitNonEmptyUserTextInputAsync();

            if (!enter.IsRussian())
            {
                await chat.SendMessageAsync(chat.Texts.RussianInputExpected);

                return(QuestionResult.RetryThisQuestion);
            }

            var comparation = translation.Word.CheckCloseness(enter.Trim());

            if (comparation == StringsCompareResult.Equal)
            {
                return(QuestionResult.Passed(chat.Texts));
            }

            //if user enters whole word in phrase- it is ok!
            if (enter.Contains(translation.Word, StringComparison.InvariantCultureIgnoreCase) &&
                phrase.OriginPhrase.Contains(enter, StringComparison.InvariantCultureIgnoreCase))
            {
                return(QuestionResult.Passed(chat.Texts));
            }

            if (comparation == StringsCompareResult.SmallMistakes)
            {
                await chat.SendMessageAsync(chat.Texts.RetryAlmostRightWithTypo);

                return(QuestionResult.RetryThisQuestion);
            }


            return(QuestionResult.Failed($"{chat.Texts.FailedOriginExampleWas2} *\"{phrase.TranslatedPhrase}\"*",
                                         chat.Texts));
        }
Пример #26
0
        public async Task <QuestionResult> Pass(ChatRoom chat, UserWordModel word, UserWordModel[] examList)
        {
            if (!word.HasAnyExamples)
            {
                return(QuestionResult.Impossible);
            }

            var targetPhrase = word.GetRandomExample();

            string shuffled;

            while (true)
            {
                var wordsInExample = targetPhrase.SplitWordsOfPhrase;

                if (wordsInExample.Length < 2)
                {
                    return(QuestionResult.Impossible);
                }

                shuffled = string.Join(" ", wordsInExample.Shuffle());
                if (shuffled != targetPhrase.OriginPhrase)
                {
                    break;
                }
            }

            await chat.SendMarkdownMessageAsync(
                QuestionMarkups.FreeTemplate($"{chat.Texts.WordsInPhraseAreShuffledWriteThemInOrderMarkdown}:\r\n*\"{shuffled}\"*"));

            var entry = await chat.WaitUserTextInputAsync();

            if (entry.IsRussian())
            {
                await chat.SendMessageAsync(chat.Texts.EnglishInputExpected);

                return(QuestionResult.RetryThisQuestion);
            }

            var closeness = targetPhrase.OriginPhrase.CheckCloseness(entry.Trim());

            if (closeness == StringsCompareResult.Equal)
            {
                return(QuestionResult.Passed(chat.Texts));
            }

            if (closeness == StringsCompareResult.BigMistakes)
            {
                await chat.SendMessageAsync(chat.Texts.RetryAlmostRightWithTypo);

                return(QuestionResult.RetryThisQuestion);
            }

            return(QuestionResult.Failed(
                       $"{chat.Texts.FailedOriginExampleWas2Markdown}:\r\n*\"{targetPhrase.OriginPhrase}\"*",
                       chat.Texts));
        }
Пример #27
0
 void Set(int Id, string Text, string Category, string Answer, QuestionResult Result, QuestionType Type)
 {
     this.Id       = Id;
     this.Text     = Text;
     this.Category = Category;
     this.Answer   = Answer;
     this.Result   = Result;
     this.Type     = Type;
 }
Пример #28
0
        private void RaiseQuestionsFinished(QuestionResult result)
        {
            var handler = QuestionsFinished;

            if (handler != null)
            {
                handler(result);
            }
        }
        public void ShouldInitializeSummaryViewModelWhenQuestionsAreFinished()
        {
            _menuVMMock.Setup(p => p.SelectedDictionary).Returns(new Dictionary("Test", null));
            var questionResult = new QuestionResult(1, 2, TimeSpan.FromSeconds(1), 100);

            _questionVMMock.Raise(p => p.QuestionsFinished += null, questionResult);

            _summaryVMMock.Verify(p => p.Initialize(_menuVMMock.Object.SelectedDictionary, questionResult), Times.Once());
        }
Пример #30
0
        public void ShouldRaiseEventWithNumberOfIncorrectQuestions()
        {
            QuestionResult questionResult = null;

            _objectUnderTest.QuestionsFinished += result => { questionResult = result; };

            AnswerAllQuestions();

            Assert.AreEqual(2, questionResult.NumberOfIncorrectAnswers);
        }
 /// <summary>
 /// Constructor.
 /// </summary>
 public ScoredQuestionResult(QuestionResult result, double score)
 {
     Result = result;
     Score = score;
 }
Пример #32
0
 private void OnQuestionBoxButtonClick(QuestionResult result)
 {
     Hide(result);
 }