예제 #1
0
        public QuizStartupViewModel(IQuizStartupDataProvider quizStartupDataProvider)
        {
            //_eventAggregator = eventAggregator;
            _quizStartupDataProvider = quizStartupDataProvider;
            _quizStartup             = new QuizStartup();

            LoadStartupValues();
        }
        public void ShouldInitializeQuestionAnswersWhenQuizStarts()
        {
            var quizStartup = new QuizStartup()
            {
                ChapterName = "test", NumberOfQuesitons = 5
            };

            _quizStartupEvent.Publish(quizStartup);

            Assert.AreEqual("What is name of the capital of Ontrario?", viewModel.QuestionAnswers.Question);
        }
        public void ShouldMoveToNextQuestionWhenOnAnswerSelectedExecuted()
        {
            var quizStartup = new QuizStartup()
            {
                ChapterName = "test", NumberOfQuesitons = 5
            };

            _quizStartupEvent.Publish(quizStartup);
            Assert.AreEqual("What is name of the capital of Ontrario?", viewModel.QuestionAnswers.Question);
            Assert.AreEqual(1, viewModel.QuestionNumber);
            viewModel.NextQuestionCommand.Execute(null);
            Assert.AreEqual("When was Magna Carta siged?", viewModel.QuestionAnswers.Question);
            Assert.AreEqual(2, viewModel.QuestionNumber);
        }
        private void InitializeQuestionAnswersForQuiz(QuizStartup quizStartup)
        {
            IResult <IEnumerable <QuestionAnswers> > result = _questionAnswerDataProvider.GetNumberOfQuestionsByChapter(quizStartup.ChapterName, quizStartup.NumberOfQuesitons);

            if (result != null && result.IsSucess)
            {
                _currentIndex        = 0;
                SelectedAnswer       = null;
                QuestionAnswers      = null;
                _questionAnswersList = new List <QuestionAnswers>(result.Data);
                QuestionAnswers      = _questionAnswersList[0];
                TotalQuestions       = _questionAnswersList.Count;
            }
        }
예제 #5
0
 private void OnQuizStartExecuted()
 {
     _quizStartup = _quizStartupViewModel.LoadQuizStartupSettings();
     ChapterName  = _quizStartup.ChapterName;
     _eventAggregator.GetEvent <QuizStartupEvent>().Publish(_quizStartup);
     if (CurrentViewModel == _resultViewModel)
     {
         CurrentViewModel = _quizStartupViewModel;
     }
     else
     {
         CurrentViewModel = _questionAnswersViewModel;
     }
 }