Пример #1
0
        private object LocateService(IServiceLocationStrategy serviceLocationStrategy)
        {
            object service = serviceLocationStrategy.LocateService();

            Activated?.Invoke(service);

            return(service);
        }
Пример #2
0
        public DependencyRegistrarTests()
        {
            _serviceEntryStoreMock = new Mock <IServiceEntryStore>();

            _locationStrategyFactoryMock = new Mock <ILocationStrategyFactory>();

            _dependencyRegistrar = new DependencyRegistrar(_serviceEntryStoreMock.Object, _locationStrategyFactoryMock.Object);

            _locationStrategy = new Mock <IServiceLocationStrategy>().Object;
        }
Пример #3
0
        private static IServiceLocationStrategy[] SetupServiceLocationStrategies(int count)
        {
            IServiceLocationStrategy[] strategies = new IServiceLocationStrategy[count];

            for (int index = 0; index < count; ++index)
            {
                strategies[index] = new Mock <IServiceLocationStrategy>().Object;
            }

            return(strategies);
        }
Пример #4
0
 public void InsertHandler(ServiceEntry serviceEntry, IServiceLocationStrategy serviceLocationStrategy)
 {
     if (HasHandler(serviceEntry))
     {
         _handlers[serviceEntry].Add(serviceLocationStrategy);
     }
     else
     {
         _handlers.Add(serviceEntry, new List <IServiceLocationStrategy>
         {
             serviceLocationStrategy
         });
     }
 }
Пример #5
0
        private IEnumerable <object> SetupIServiceHandlers(int count)
        {
            SetupHasIServiceHandler();

            IServiceLocationStrategy[] strategies = new IServiceLocationStrategy[count];
            for (int index = 0; index < strategies.Length; ++index)
            {
                strategies[index] = SetupServiceLocationStrategy(new Service());
            }

            _serviceEntryStoreMock.Setup(store => store.RetrieveHandlers(NullKeyServiceEntry))
            .Returns(strategies);

            return(strategies.Select(strategy => strategy.LocateService()));
        }
Пример #6
0
 private void InsertHandler(IServiceLocationStrategy serviceLocationStrategy)
 {
     _serviceEntryStore.InsertHandler(DefaultServiceEntry, serviceLocationStrategy);
 }
Пример #7
0
        private void InsertHandler(Type service, string key, IServiceLocationStrategy serviceLocationStrategy)
        {
            ServiceEntry serviceEntry = MakeServiceEntry(service, key);

            _serviceEntryStore.InsertHandler(serviceEntry, serviceLocationStrategy);
        }