コード例 #1
0
        public void RedirectToStartTestPhase_WhenStartIsCalled()
        {
            // Arrange
            var    expectedModels         = TestDatas.GetFakeTestPhaseModels();
            string expectedRedirectAction = "StartTestPhase";

            var mockSessionStorage = new Mock <ISessionStorage>();

            mockSessionStorage
            .Setup(x => x.GetObjectFromJson <List <TestPhaseModel> >(It.IsAny <string>()))
            .Returns(expectedModels);

            var mockColorProvider = new Mock <IColorProvider>();

            var settings = new StroopTestSettings();

            var controller = new StroopTestController(mockSessionStorage.Object, mockColorProvider.Object, settings);

            // Act
            var actual = controller.Start();

            // Assert
            var redirectResult = Assert.IsType <RedirectToActionResult>(actual);

            Assert.Null(redirectResult.ControllerName);
            Assert.Equal(expectedRedirectAction, redirectResult.ActionName);

            mockSessionStorage.Verify(x => x.GetObjectFromJson <List <TestPhaseModel> >(It.IsAny <string>()), Times.Once);
        }
コード例 #2
0
        public void StoreColorsModels_WhenStartIsCalled()
        {
            // Arrange
            List <TestPhaseModel> model = new List <TestPhaseModel>();

            var mockSessionStorage = new Mock <ISessionStorage>();

            mockSessionStorage
            .Setup(x => x.GetObjectFromJson <List <TestPhaseModel> >(It.IsAny <string>()))
            .Returns(model);

            var mockColorProvider = new Mock <IColorProvider>();

            var settings = new StroopTestSettings();

            var controller = new StroopTestController(mockSessionStorage.Object, mockColorProvider.Object, settings);

            // Act
            var actual = controller.Start();

            // Assert
            mockColorProvider.Verify(x => x.GetCongruentColor(), Times.Exactly(20));
            mockColorProvider.Verify(x => x.GetIncongruentColor(), Times.Exactly(20));

            mockSessionStorage.Verify(x => x.GetObjectFromJson <List <TestPhaseModel> >(It.IsAny <string>()), Times.Once);

            Assert.Equal(2, model.Count);

            var modelPhase1 = model[0];

            Assert.Equal(1, modelPhase1.PhaseNumber);
            Assert.Equal(20, modelPhase1.StepModels.Count);

            var modelPhase2 = model[1];

            Assert.Equal(2, modelPhase2.PhaseNumber);
            Assert.Equal(20, modelPhase2.StepModels.Count);
        }