public PerformanceRunnerWrapper GetPerformanceRunner(Type methodType, Type runnerType)
        {
            var runner            = GetRunner(methodType, runnerType);
            var performanceRunner = new PerformanceRunnerWrapper(runner);

            return(performanceRunner);
        }
Example #2
0
        public void ShouldCallGetAllNumbersOnWrappedRunner()
        {
            var anyTopNumber = 100;
            var runner       = new Mock <IRunner>();

            runner.Setup(x => x.GetAllNumbers(It.IsAny <int>())).Returns(new int[] { });
            var performanceRunner = new PerformanceRunnerWrapper(runner.Object);

            performanceRunner.GetAllNumbers(anyTopNumber);

            runner.Verify(x => x.GetAllNumbers(It.IsAny <int>()), Times.Once);
        }
Example #3
0
        public void ShouldHaveProperReturnObjectAfterGetAllNumbersExecution()
        {
            var testPrimeResult = new[] { 2, 5, 7 };
            var anyTopNumber    = 100;
            var runner          = new Mock <IRunner>();

            runner.Setup(x => x.GetAllNumbers(It.IsAny <int>())).Returns(testPrimeResult);
            var performanceRunner = new PerformanceRunnerWrapper(runner.Object);

            performanceRunner.GetAllNumbers(anyTopNumber);

            Assert.AreNotEqual(default(DateTime), performanceRunner.Result.StartTime);
            Assert.AreNotEqual(default(DateTime), performanceRunner.Result.EndTime);
            Assert.AreEqual(testPrimeResult.Length, performanceRunner.Result.Primes.Count());
        }
Example #4
0
        private PrimeService GetPrimeServiceMock(int anyMethodSetId = int.MinValue)
        {
            var logger          = new Mock <ILog>();
            var methodContainer = new Mock <PrimeMethodContainer>(string.Empty, string.Empty, typeof(IPrimeChecker));
            var runnerContainer = new Mock <PrimeRunnerContainer>(string.Empty, string.Empty, typeof(IRunner));

            var primeMethodSet = new Mock <PrimeMethodSet>(methodContainer.Object, runnerContainer.Object);

            if (anyMethodSetId > 0)
            {
                primeMethodSet.SetupGet(x => x.Id).Returns(anyMethodSetId);
            }
            else
            {
                primeMethodSet.SetupGet(x => x.Id);
            }

            var anyRunner = new Mock <IRunner>();

            anyRunner.Setup(x => x.GetAllNumbers(It.IsAny <int>())).Returns(new[] { PrimeNumber.FIRST_PRIME_NUMBER });
            var performanceRunner = new PerformanceRunnerWrapper(anyRunner.Object);

            var resolver = new Mock <IPrimeFacilitiesResolver>();

            resolver.SetupGet(x => x.MethodSets).Returns(new[] { primeMethodSet.Object });
            resolver.Setup(x => x.GetPerformanceRunner(It.IsAny <Type>(), It.IsAny <Type>())).Returns(performanceRunner);

            var validator = new Mock <IValidator <MethodIdNumberPairContainer> >();

            validator.Setup(x => x.Validate(It.IsAny <MethodIdNumberPairContainer>())).Returns(new ValidationResultTest {
                IsValidEx = true
            });

            var primeService = new PrimeService(resolver.Object, logger.Object, validator.Object);

            return(primeService);
        }
Example #5
0
        public void ShouldThrowIfRunnerIsNull()
        {
            var runner = (IRunner)null;

            var result = new PerformanceRunnerWrapper(runner);
        }