public void Test_CalculateStops()
        {
            //Arrange
            GridResultDTO expectedGrid   = new GridResultDTO();
            ResultDTO     expectedResult = new ResultDTO
            {
                Name  = "Y-wing",
                Value = 74
            };

            expectedGrid.ResultDTO = new System.Collections.Generic.List <ResultDTO>
            {
                expectedResult
            };
            string input = "1000000";

            //Act
            GridResultDTO actualGrid   = new StopsCalculator().CalculateStops(input);
            ResultDTO     actualResult = new ResultDTO();

            foreach (var item in actualGrid.ResultDTO)
            {
                if (item.Name == "Y-wing")
                {
                    actualResult = item;
                    break;
                }
            }

            //Assert
            bool result = expectedResult.Equals(actualResult);
        }
Example #2
0
        public void CalculateTotalStops_WhenRangeCalculationZero_ThrowsDivideByZeroException()
        {
            var moqFactory = new Mock <IRangeCalculationStrategyFactory>();

            moqFactory.Setup(mf => mf.GetRangeCalculationStrategy(It.IsAny <IntervalUnit>()))
            .Returns(CreateMoqStrategy(0).Object);

            var testCalculator = new StopsCalculator(moqFactory.Object, new Mock <ILogger>().Object);

            Assert.Throws <DivideByZeroException>(() => testCalculator.CalculateTotalStops(StarshipUtils.Create(IntervalUnit.Day, 2, 1), 1));
        }
Example #3
0
        public void CalculateTotalStops_WhenRangeCalculationNotNull_ReturnsValidResult()
        {
            var moqFactory = new Mock <IRangeCalculationStrategyFactory>();

            moqFactory.Setup(mf => mf.GetRangeCalculationStrategy(It.IsAny <IntervalUnit>()))
            .Returns(CreateMoqStrategy(2).Object);

            var testCalculator = new StopsCalculator(moqFactory.Object, new Mock <ILogger>().Object);
            var result         = testCalculator.CalculateTotalStops(StarshipUtils.Create(IntervalUnit.Day, 2, 1), 5);

            Assert.True(result.IsValid);
            Assert.Equal(2, result.NumberOfStops);
        }