public void CreatingQuestionFromAnotherQuestion_FullyValidData()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder(CorrectQuestionPrototype);

            var question = builder.GetResult();

            Assert.IsNotNull(question);
        }
        public void CreatingQuestion_NullTask()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();

            Task = null;

            var question = AssemblyQuestion();
        }
        public void CreatingQuestion_NullAnswers()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();

            CorrectAnswer = null;

            var question = AssemblyQuestion();

            Assert.IsNull(question);
        }
        public void CreatingQuestion_EmptyOptions()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();

            Options = new List <string>();

            var question = AssemblyQuestion();

            Assert.IsNull(question);
        }
        public void CreatingQuestion_NullOptions()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();

            Options = null;

            var question = AssemblyQuestion();

            Assert.IsNull(question);
        }
        public void CreatingQuestionFromAnotherQuestion_NullScoringInPrototype()
        {
            CorrectQuestionPrototype.Scoring = null;

            var builder = new MultipleCheckBoxesQuestionBuilder(CorrectQuestionPrototype);

            var question = builder.GetResult();

            Assert.IsNull(question);
        }
        public void CreatingQuestion_OptionsListTrimming()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();

            Options[2] = "  kkk   ";

            var question = AssemblyQuestion();

            Assert.IsTrue("kkk" == question.Options[2]);
        }
        private MultipleCheckBoxesQuestion AssemblyQuestion()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();


            builder.AddOptions(Options);
            builder.AddTask(Task);
            builder.AddCorrectAnswer(CorrectAnswer);
            builder.AddScoring(Scoring);

            return(builder.GetResult());
        }
        public void CreatingQuestion_IdenticalOptions()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();

            Options[2] = "  kkk   ";
            Options[1] = "kkk";
            Options[0] = "k k k";

            var question = AssemblyQuestion();

            Assert.IsNull(question);
        }
        public void CreatingQuestion_TooSmallAnswerCount()
        {
            var builder = new MultipleCheckBoxesQuestionBuilder();

            CorrectAnswer = new List <bool>()
            {
                true,
            };

            var question = AssemblyQuestion();

            Assert.IsNull(question);
        }