public void Setup()
        {
            _typeCache           = new TypeCache();
            _configuration       = new Configuration();
            _actionMethodSource1 = new TestActionMethodSource1();
            _actionMethodSource2 = new TestActionMethodSource2();
            _routeConvention1    = new TestRouteConvention1
            {
                GetDescriptors = x => new List <RouteDescriptor>
                {
                    new RouteDescriptor(x.ActionMethod.Method.Name,
                                        x.ActionMethod.FullName, null, null, null, null, null)
                }
            };
            _routeConvention2 = new TestRouteConvention2
            {
                GetDescriptors = _routeConvention1.GetDescriptors
            };

            _handler1Get  = _actionMethodSource1.Add <Handler1>(x => x.Get());
            _handler1Post = _actionMethodSource1.Add <Handler1>(x => x.Post());
            _handler2Get  = _actionMethodSource2.Add <Handler2>(x => x.Get());
            _handler2Post = _actionMethodSource2.Add <Handler2>(x => x.Post());

            _routeConvention1.AppliesToPredicate = x => true;
            _routeConvention2.AppliesToPredicate = x => true;

            _actionSource = new DefaultActionSource(new List <IActionMethodSource>
            {
                _actionMethodSource1, _actionMethodSource2
            },
                                                    new List <IRouteConvention>
            {
                _routeConvention1, _routeConvention2
            },
                                                    _configuration, new TypeCache());
        }