예제 #1
0
 public void CanRegisterAndResolveTypes() {
     var resolver = new DefaultDependencyResolver();
     resolver.Register<IServiceA, ServiceA>();
     var s1 = resolver.Resolve<IServiceA>();
     var s2 = resolver.Resolve<IServiceA>();
     Assert.Equal(s1, s2);
 }
예제 #2
0
 public void CanInjectConstructors() {
     var resolver = new DefaultDependencyResolver();
     resolver.Register<IServiceA, ServiceA>();
     resolver.Register<IServiceB, ServiceB>();
     var a = resolver.Resolve<IServiceA>();
     var b = resolver.Resolve<IServiceB>();
     Assert.Equal(a, b.ServiceA);
     Assert.NotNull(b.ServiceC);
 }
예제 #3
0
 public void CanHaveIsolatedContainers() {
     var resolver1 = new DefaultDependencyResolver();
     var resolver2 = new DefaultDependencyResolver();
     resolver1.Register<IServiceA, ServiceA>();
     resolver2.Register<IServiceA, ServiceA>();
     var s1 = resolver1.Resolve<IServiceA>();
     var s2 = resolver2.Resolve<IServiceA>();
     Assert.NotEqual(s1, s2);
 }
예제 #4
0
 public void CanResolveUnregisteredType() {
     var resolver = new DefaultDependencyResolver();
     var s1 = resolver.Resolve<ServiceA>();
     Assert.NotNull(s1);
 }