コード例 #1
0
        public async Task Get_WhenGettingAllQuestions_ThenReturnListOfQuestions()
        {
            QuestionPagedItem[] questionItems = new QuestionPagedItem[]
            {
                new QuestionPagedItem {
                    ID = Guid.NewGuid(), Number = 1, Section = "Section 1"
                },
                new QuestionPagedItem {
                    ID = Guid.NewGuid(), Number = 2, Section = "Section 2"
                }
            };

            QuestionPaged questionsPaged = new QuestionPaged
            {
                Items      = questionItems,
                TotalCount = questionItems.Length
            };

            questionController.Request       = new HttpRequestMessage(HttpMethod.Get, "api/Question/?itemsPerPage=2&pageNumber=1");
            questionController.Configuration = new HttpConfiguration();


            questionServiceMock.Setup(x => x.GetQuestionsByPageAsync(2, 1)).Returns(Task.FromResult(questionsPaged.DeepCopyTo <Qubiz.QuizEngine.Services.Models.PagedResult <Qubiz.QuizEngine.Services.Models.QuestionListItem> >()));

            IHttpActionResult actionResult = await questionController.Get(2, 1);

            QuestionPaged response = (actionResult as OkNegotiatedContentResult <QuestionPaged>).Content;

            Assert.AreEqual(typeof(OkNegotiatedContentResult <QuestionPaged>), actionResult.GetType());
            AssertAreEqual(questionsPaged.Items[0], response.Items[0]);
            AssertAreEqual(questionsPaged.Items[1], response.Items[1]);
            Assert.AreEqual(questionsPaged.TotalCount, response.TotalCount);
        }
コード例 #2
0
 private void AssertAreEqual(QuestionPagedItem expected, QuestionPagedItem actual)
 {
     Assert.AreEqual(expected.ID, actual.ID);
     Assert.AreEqual(expected.Number, actual.Number);
     Assert.AreEqual(expected.Section, actual.Section);
 }