예제 #1
0
 public MainViewModel(IQuestionAnswersViewModel questionAnswersViewModel,
                      IResultViewModel resultViewModel,
                      IQuizStartupViewModel quizStartupViewModel,
                      IEventAggregator eventAggregator)
 {
     _quizStartupViewModel     = quizStartupViewModel;
     _questionAnswersViewModel = questionAnswersViewModel;
     _resultViewModel          = resultViewModel;
     QuestionAnswers           = new ObservableCollection <QuestionAnswers>();
     _eventAggregator          = eventAggregator;
     _eventAggregator.GetEvent <QuizCompletedEvent>().Subscribe(OnQuizCompletionSwitchViewToResultView);
     StartCommand = new DelegateCommand(OnQuizStartExecuted);
 }
        public void Setup()
        {
            _eventAggregator  = new Mock <IEventAggregator>();
            _quizStartupEvent = new QuizStartupEvent();
            _eventAggregator.Setup(ea => ea.GetEvent <QuizStartupEvent>())
            .Returns(_quizStartupEvent);

            _questionAnswerDataProviderMock = new Mock <IQuestionAnswerDataProvider>();
            _questionAnswerDataProviderMock
            .Setup(d => d.GetNumberOfQuestionsByChapter(It.IsAny <string>(), It.IsAny <int>()))
            .Returns(new Result <IEnumerable <QuestionAnswers> >()
            {
                IsSucess = true,
                Data     = DummyQuestionAnswers.LoadQuestionAnswers()
            });

            viewModel = new QuestionAnswersViewModel(_eventAggregator.Object,
                                                     _questionAnswerDataProviderMock.Object);
        }