Esempio n. 1
0
        private void btnQues_Click(object sender, EventArgs e)
        {
            TestManager tm = new TestManager();

            OEEntity.Question q = new Question(); q.options = new List <Option>(); q.coptions = new List <Option>();
            OEEntity.Option   op;
            q.question = txtQues.Text;
            q.marks    = byte.Parse(txtMarks.Text);
            string[] ops  = txtOption.Text.Split(',');
            string[] cops = txtCOptions.Text.Split(',');
            for (int i = 0; i < ops.Length; i++)
            {
                op        = new Option();
                op.option = ops[i];
                q.options.Add(op);
                foreach (var item in cops)
                {
                    byte dx = Byte.Parse(item);
                    if ((dx - 1) == i)
                    {
                        q.coptions.Add(op);
                    }
                }
            }

            tm.AddQuestion(q);
            MessageBox.Show("Question added");
        }
        public void AddQuestion_failed_if_question_is_null()
        {
            //arrange
            Mock <IUnitOfWork> uow     = new Mock <IUnitOfWork>();
            TestManager        manager = new TestManager(uow.Object);
            //act
            var result = manager.AddQuestion(null, new Page {
            }).Result;

            //assert
            Assert.False(result.Succeeded);
        }
        public void AddQuestion_failed_if_no_changes_occured()
        {
            //arrange
            Mock <IUnitOfWork> uow = new Mock <IUnitOfWork>();

            uow.Setup(u => u.SaveChanges()).ReturnsAsync(0);

            TestManager manager = new TestManager(uow.Object);
            //act
            var result = manager.AddQuestion(new Question {
            }, _pages[0]).Result;

            //assert
            Assert.False(result.Succeeded);
        }
        public void AddQuestion_failed_if_page_contains_question()
        {
            //arrange
            Mock <IUnitOfWork> uow     = new Mock <IUnitOfWork>();
            TestManager        manager = new TestManager(uow.Object);
            var testQuestion           = new Question();
            var pageToTest             = new Page {
                Questions = new List <Question> {
                    testQuestion
                }
            };
            //act
            var result = manager.AddQuestion(testQuestion, pageToTest).Result;

            //assert
            Assert.False(result.Succeeded);
        }
        public void AddQuestion_succeded_if_page_and_question_valid()
        {
            //arrange
            Mock <IUnitOfWork>         uow  = new Mock <IUnitOfWork>();
            Mock <IQuestionRepository> repo = new Mock <IQuestionRepository>();

            repo.Setup(r => r.Add(It.IsNotNull <Question>()))
            .Callback <Question>(q => _pages[0].Questions.Add(q))
            .Verifiable();
            uow.Setup(u => u.SaveChanges()).ReturnsAsync(1).Verifiable();

            TestManager manager           = new TestManager(uow.Object);
            var         questionsToModify = _pages[0].Questions;
            var         expectedCount     = questionsToModify.Count + 1;
            //act
            var result = manager.AddQuestion(new Question {
            }, _pages[0]).Result;

            //assert
            Assert.True(result.Succeeded);
            Assert.Equal(expectedCount, questionsToModify.Count);
        }