private IList<IQuestion> GenerateQuestions()
        {
            var questions = new List<IQuestion>(10);

            for (var i = 0; i < 10; ++i)
            {
                var question = new TextQuestion();

                questions.Add(question);
            }

            return questions;
        }
        public void GetAllQuestions()
        {
            for (var i = 0; i < 10; ++i)
            {
                var textQuestion = new TextQuestion();

                this.questions.Add(textQuestion);

                this.questionContainer.AddQuestion(textQuestion);
            }

            var allQuestions = this.questionContainer.GetAllQuestions();

            NUnit.Framework.Assert.AreEqual(10, allQuestions.Count);

            for (var i = 0; i < 10; ++i)
            {
                NUnit.Framework.Assert.AreEqual(true, this.questionContainer.QuestionExists(this.questions[i]));
            }
        }
        public void RemoveAllQuestions()
        {
            for (var i = 0; i < 10; ++i)
            {
                var textQuestion = new TextQuestion();

                this.questions.Add(textQuestion);

                this.questionContainer.AddQuestion(textQuestion);
            }

            this.questionContainer.RemoveAllQuestions();

            this.dataBaseAccessorSubstitute.Received().RemoveAllQuestions();

            NUnit.Framework.Assert.AreEqual(0, this.questionContainer.GetQuestionCount());

            for (var i = 0; i < 10; ++i)
            {
                NUnit.Framework.Assert.AreEqual(false, this.questionContainer.QuestionExists(this.questions[i]));
            }
        }
        public void RemoveQuestion()
        {
            for (var i = 0; i < 10; ++i)
            {
                var textQuestion = new TextQuestion();

                this.questions.Add(textQuestion);

                this.questionContainer.AddQuestion(textQuestion);
            }

            this.questionContainer.RemoveQuestion(this.questions[5]);
            this.questionContainer.RemoveQuestion(this.questions[7]);

            this.dataBaseAccessorSubstitute.Received().RemoveQuestion(this.questions[5]);
            this.dataBaseAccessorSubstitute.Received().RemoveQuestion(this.questions[7]);

            var allQuestions = this.questionContainer.GetAllQuestions();

            NUnit.Framework.Assert.AreEqual(8, allQuestions.Count);

            for (var i = 0; i < 10; ++i)
            {
                if (i == 5 || i == 7)
                {
                    NUnit.Framework.Assert.AreEqual(false, this.questionContainer.QuestionExists(this.questions[i]));
                }
                else
                {
                    NUnit.Framework.Assert.AreEqual(true, this.questionContainer.QuestionExists(this.questions[i]));
                }
            }
        }