예제 #1
0
        public void ShowTable_TestTable_EqualTables()
        {
            // Arrange
            var mockXmlReq         = new Mock <IXmlSoccerRequester>();
            var testDbContext      = new TestXmlSoccerApiDBContext();
            var apiTestLeagueTable = CreateTestLeagueTable(NumberOfTeams);

            mockXmlReq.Setup(x => x.GetLeagueStandingsBySeason(
                                 It.IsAny <string>(), It.IsAny <int>()))
            .Returns(apiTestLeagueTable);

            var footballController = new FootballController(mockXmlReq.Object, testDbContext);

            // Act
            var viewResult = footballController.Table() as ViewResult;

            // Assert
            mockXmlReq.Verify(x => x.GetLeagueStandingsBySeason(It.IsAny <string>(), It.IsAny <int>()), Times.Once());

            Assert.AreEqual(1, testDbContext.SavedChanges);

            var modelLeagueTable = viewResult.Model as List <TeamLeagueStanding>;

            // Checking if list forwarded as a model (viewResult.Model) to View
            // corresponds to test list (Does this list have the same values of their objects?)
            Assert.IsNotNull(modelLeagueTable);
            Assert.AreEqual(NumberOfTeams, apiTestLeagueTable.Count);
            Assert.AreEqual(apiTestLeagueTable.Count, modelLeagueTable.Count);

            for (int i = 0; i < modelLeagueTable.Count; i++)
            {
                Assert.IsTrue(modelLeagueTable[i].IsEqualToXmlTeamStanding(apiTestLeagueTable[i]));
            }
        }
예제 #2
0
        public void ShowTable_RepeatedControllerActionCall_NoRepeatedApiRequest()
        {
            // Arrange
            var mockXmlReq         = new Mock <IXmlSoccerRequester>();
            var testDbContext      = new TestXmlSoccerApiDBContext();
            var apiTestLeagueTable = CreateTestLeagueTable(0);

            mockXmlReq.Setup(x => x.GetLeagueStandingsBySeason(
                                 It.IsAny <string>(), It.IsAny <int>()))
            .Returns(apiTestLeagueTable);

            var footballController = new FootballController(mockXmlReq.Object, testDbContext);

            // Act
            var viewResult = footballController.Table() as ViewResult;

            viewResult = footballController.Table() as ViewResult;

            // Assert
            mockXmlReq.Verify(x => x.GetLeagueStandingsBySeason(It.IsAny <string>(), It.IsAny <int>()), Times.Once());

            Assert.AreEqual(1, testDbContext.SavedChanges);
        }