/// <summary>
        /// Submits the current question
        /// </summary>
        private void Submit()
        {
            // Get the list of answers
            var checkedList = new List <bool>();

            foreach (var item in Options)
            {
                if (item.IsChecked)
                {
                    checkedList.Add(true);
                }
                else
                {
                    checkedList.Add(false);
                }
            }

            // Save the answer
            var answer = new MultipleCheckBoxesAnswer()
            {
                UserAnswer = checkedList,
            };

            IoCClient.TestHost.SaveAnswer(answer);

            // Go to next question page
            IoCClient.TestHost.GoNextQuestion();
        }
        public void CheckingAnswer_NotMatchingAnswerCount()
        {
            var answer = new MultipleCheckBoxesAnswer()
            {
                UserAnswer = new List <bool>(CorrectAnswer_3Options.Count + 1),
            };

            var points = Question_3Options.CheckAnswer(answer);
        }
        public void CheckingAnswer_NullAnswerContent()
        {
            var Answer = new MultipleCheckBoxesAnswer()
            {
                UserAnswer = null,
            };

            var points = Question_3Options.CheckAnswer(Answer);
        }
        public void CheckingAnswer_FullScoreMode_FullyGoodAnswer()
        {
            var Answer = new MultipleCheckBoxesAnswer()
            {
                UserAnswer = CorrectAnswer_3Options,
            };

            var points = Question_3Options.CheckAnswer(Answer);

            Assert.AreEqual(FullPointScore, points);
        }
        public void CheckingAnswer_EvenPartsMode_4OutOf4correct()
        {
            var Answer = new MultipleCheckBoxesAnswer()
            {
                UserAnswer = CorrectAnswer_4Options_4Correct,
            };


            var points = Question_4Options_EvenPartsMode.CheckAnswer(Answer);

            Assert.AreEqual(FullPointScore, points);
        }
        public void CheckingAnswer_HalfTheAnswerMode_0OutOf4correct()
        {
            var Answer = new MultipleCheckBoxesAnswer()
            {
                UserAnswer = CorrectAnswer_4Options_0Correct,
            };


            var points = Question_4Options_HalfAnswerMode.CheckAnswer(Answer);

            Assert.AreEqual(0, points);
        }
        public void CheckingAnswer_FullScoreMode_FullyWrong()
        {
            var badAnswer = new List <bool>();

            foreach (var item in CorrectAnswer_3Options)
            {
                badAnswer.Add(!item);
            }

            var Answer = new MultipleCheckBoxesAnswer()
            {
                UserAnswer = badAnswer,
            };

            var points = Question_3Options.CheckAnswer(Answer);

            Assert.AreEqual(0, points);
        }