public void CannotResolveAbstractClass() { var container = new InjectContainer(); container.Register<IInterface1, AbstractClass1>(); Assert.That(() => container.Resolve<AbstractClass1>(), Throws.InstanceOf<ResolutionFailedException>()); }
public void CannotResolveInterface() { var container = new InjectContainer(); container.Register<IInterface1, IInherited1>(); Assert.That(() => container.Resolve<IInterface1>(), Throws.InstanceOf<ResolutionFailedException>()); }
static void Main() { var container = new InjectContainer(); container.Register <IMoleculeService, MoleculeService>(); container.Register <IMoleculeRepository, MoleculeRepository>(); container.Register <ILogService, LogService>(); container.Register <ILogRepository, LogRepository>(); container.Register <IAtomService, AtomService>(); container.Register <ILinkService, LinkService>(); container.Register <IReplacementReactionService, ReplacementReactionService>(); container.Register <IAddictionReactionService, AddictionReactionService>(); var moleculeService = container.Resolve <IMoleculeService>(); var logService = container.Resolve <ILogService>(); var linkService = container.Resolve <ILinkService>(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MoleculeSearchForm(moleculeService, logService, linkService)); }
public void CanRegisterTypeAsSingleton() { var container = new InjectContainer(); container.Register<IInterface1, Class1>(); var instance1 = container.Resolve<IInterface1>(); var instance2 = container.Resolve<IInterface1>(); Assert.AreSame(instance1, instance2); }
public void ResolvesInstanceAsSingleton() { var container = new InjectContainer(); var instance = new Class1(); container.Register<IInterface1>(instance); var instance1 = container.Resolve<IInterface1>(); var instance2 = container.Resolve<IInterface1>(); Assert.AreSame(instance, instance1); Assert.AreSame(instance, instance2); }
public void ResolvesConstructorParameters() { var container = new InjectContainer(); container.Register<IInterfaceWithProperty, Class1WithProperty>(); container.Register<IInterface2, Class2>(); var instance = container.Resolve<IInterfaceWithProperty>(); Assert.IsNotNull(instance); Assert.IsNotNull(instance.Arg); }
public void ResolveCircularReferenceThrows() { var container = new InjectContainer(); container.Register<IInterface1, CircularReference1>(); container.Register<IInterface2, CircularReference2>(); Assert.That(() => container.Resolve<IInterface1>(), Throws.InstanceOf<ResolutionFailedException>()); }
public void RegisterTypeWithNullTypeThrows() { var container = new InjectContainer(); Assert.That(() => container.Register(typeof(object), null), Throws.ArgumentNullException); }
public void RegisterSameTypeThrows() { var container = new InjectContainer(); container.Register<IInterface1, Class1>(); Assert.That(() => container.Register<IInterface1, Class1>(), Throws.ArgumentException); }
public void RegisterInstanceWithNullInstanceThrows() { var container = new InjectContainer(); Assert.That(() => container.Register<object>(null), Throws.ArgumentNullException); }
public void RegisterInstanceNullThrows() { var container = new InjectContainer(); Assert.That(() => container.Register(null, new object()), Throws.ArgumentNullException); }
public void RegisteredTypeDoesntInheritThrows() { var container = new InjectContainer(); Assert.That(() => container.Register(typeof(IInterface1), typeof(Class2)), Throws.ArgumentException); }