Exemple #1
0
        public void Post_Game_ReturnsSimulationResults(int NumberOfSimulations, int nrWins)
        {
            var simulationResultObj = new SimulationResult()
            {
                wins             = nrWins,
                percentageOfWins = (decimal)(nrWins / NumberOfSimulations),
                losses           = NumberOfSimulations - nrWins,
                NumberOfDoors    = 3,
            };
            var mockSimulationService = new Mock <ISimulationService>();

            mockSimulationService.Setup(service => service.RunSimulation(It.IsAny <int>(), It.IsAny <Boolean>(), It.IsAny <int>())).Returns(simulationResultObj);
            var sut = new SimulationController(mockSimulationService.Object);

            var result = sut.Post(new Game()
            {
                NumberOfSimulations = NumberOfSimulations
            }) as OkObjectResult;

            Assert.IsInstanceOf <OkObjectResult>(result);

            var simulationResult = result.Value as SimulationResult;

            Assert.GreaterOrEqual(simulationResult.wins, nrWins);
            Assert.GreaterOrEqual(simulationResult.losses, simulationResultObj.losses);
            Assert.GreaterOrEqual(simulationResult.percentageOfWins, simulationResultObj.percentageOfWins);
            Assert.AreEqual(simulationResult.NumberOfDoors, simulationResultObj.NumberOfDoors);
        }
        public async void PostSimulation()
        {
            var mockLogger = new Mock<ILogger<SimulationController>>();
            SimulationController simcon = new SimulationController(mockLogger.Object);
            var result = await simcon.Post(new web.SimulationRequest() {
                ChangeDoor = false,
                ChosenDoor = 0,
                NumOfSimulations = 10
            });

            Assert.Equal(10, result.Value.Cars + result.Value.Goats);
        }
Exemple #3
0
        public void Post_NumberOfSimulationsIsZero_Returns400()
        {
            var mockSimulationService = new Mock <ISimulationService>();

            var sut    = new SimulationController(mockSimulationService.Object);
            var result = sut.Post(new Game()
            {
                NumberOfSimulations = 0
            }) as BadRequestObjectResult;

            Assert.IsInstanceOf <BadRequestObjectResult>(result);
            var simulationResult = result.Value as SimulationResult;

            Assert.IsNull(simulationResult);
        }
Exemple #4
0
        public void Post_throwsException_Returns500()
        {
            var mockSimulationService = new Mock <ISimulationService>();

            mockSimulationService.Setup(repo => repo.RunSimulation(It.IsAny <int>(), It.IsAny <Boolean>(), It.IsAny <int>())).Throws(new Exception("Random exception"));
            var sut = new SimulationController(mockSimulationService.Object);

            var result = sut.Post(new Game()
            {
                NumberOfSimulations = 10
            }) as ObjectResult;

            Assert.AreEqual(result.StatusCode, 500);

            var simulationResult = result.Value as SimulationResult;

            Assert.IsNull(simulationResult);
        }