public AvalancheRunnerTests() { _logger = Substitute.For <ILogger <AvalancheRunner> >(); _glacier = Substitute.For <IGlacierGateway>(); _lightroom = Substitute.For <ILightroomReader>(); _avalanche = Substitute.For <IAvalancheRepository>(); _parameters = new ExecutionParameters { Glacier = new GlacierParameters { }, Avalanche = new AvalancheParameters { } }; _glacierFactory = Substitute.For <IInjectionFactory <IGlacierGateway> >(); _glacierFactory.Create().Returns(_glacier); _lightroomFactory = Substitute.For <IInjectionFactory <ILightroomReader> >(); _lightroomFactory.Create().Returns(_lightroom); _lightroom.GetCatalogId().Returns(Guid.NewGuid()); _avalancheFactory = Substitute.For <IInjectionFactory <IAvalancheRepository> >(); _avalancheFactory.Create().Returns(_avalanche); _sut = new AvalancheRunner(_logger, _glacierFactory, _lightroomFactory, _avalancheFactory, _parameters); }
public object GetInstance(IInjectionFactory factory, InjectionContext context) { if (!created) { instance = factory.Create(context); created = true; } return(instance); }
public object GetInstance(IInjectionFactory factory, InjectionContext context) { if (!created) { instance = factory.Create(context); created = true; } return instance; }
public object GetData() { var dataService = _dataServiceFactory.Create(); try { return(dataService.LoadData()); } finally { var disposableDataService = dataService as IDisposable; if (disposableDataService != null) { disposableDataService.Dispose(); } } }
public TClass Resolve <TClass>() { if (!_factories.ContainsKey(typeof(TClass))) { return(_container.Resolve <TClass>()); } IInjectionFactory <TClass> factory = _factories[typeof(TClass)] as IInjectionFactory <TClass>; if (factory == null) { throw new ArgumentException("TClass : factory = null"); } TClass result = factory.Create(this); if (factory.IsSingleFactory) { _factories.Remove(typeof(TClass)); RegisterInstance <TClass>(result); } return(result); }
public static InjectionFactoryObjectWrapper <T> CreateWrapper <T>(this IInjectionFactory <T> factory) { var item = factory.Create(); return(new InjectionFactoryObjectWrapper <T>(item, factory)); }
public object GetInstance(IInjectionFactory factory, InjectionContext context) { return(factory.Create(context)); }
public object GetInstance(IInjectionFactory factory, InjectionContext context) { return factory.Create(context); }