public LinksEvaluatorTestCase BuildLinksEvaluatorTestCase()
        {
            var actionContext  = CreateActionContext();
            var linkGenerator  = new Mock <LinkGenerator>();
            var optionsWrapper = Options.Create(options);
            var transformationContextFactory = new TestLinkTransformationContextFactory(actionContext, linkGenerator.Object);
            var evaluator = new DefaultLinksEvaluator(optionsWrapper, transformationContextFactory);

            return(new LinksEvaluatorTestCase(evaluator, this.hrefTransformationMock, this.relTransformationMock));
        }
        public LinksServiceTestCase BuildLinksServiceTestCase()
        {
            var authServiceMock              = new Mock <ILinkAuthorizationService>();
            var serviceLoggerMock            = new Mock <ILogger <DefaultLinksService> >();
            var actionContext                = CreateActionContext();
            var linkGenerator                = new Mock <LinkGenerator>();
            var optionsWrapper               = Options.Create(options);
            var policyProvider               = new DefaultLinksPolicyProvider(optionsWrapper);
            var transformationContextFactory = new TestLinkTransformationContextFactory(actionContext, linkGenerator.Object);
            var linksHandlerFactory          = new TestLinksHandlerContextFactory(routeMap, authServiceMock.Object, actionContext);
            var evaluator = new DefaultLinksEvaluator(optionsWrapper, transformationContextFactory);

            var service = new DefaultLinksService(optionsWrapper, serviceLoggerMock.Object, linksHandlerFactory, policyProvider, handlers, routeMap, evaluator);

            return(new LinksServiceTestCase(service, linksHandlerFactory, authServiceMock, serviceLoggerMock));
        }