Ejemplo n.º 1
0
    public IScopedDependencyResolver GetResolver()
    {
        var builder = new IoCContainerBuilder();

        builder.AddResttpControllers(Assembly.GetExecutingAssembly());

        builder.AddInstance(() => 3).For<int>();

        builder.AddType<Object>().ForSelf().WithParameters(new Parameter("Labas", "labas")).SetSingleton();
        builder.AddType<Object>().For<IList>().SetPerDependency();
        builder.AddType<Object>().ForImplementedInterfaces().SetPerRequest();

        builder.AddInstance(() => new Object()).For<Object>().SetSingleton();
        builder.AddInstance(() => new object()).ForSelf().SetPerRequest();
        builder.AddInstance(() => new object()).ForImplementedInterfaces().SetPerDependency();
        return builder.Build();
    }
Ejemplo n.º 2
0
 public void Should_UseDefaultParameters()
 {
     var builder = new IoCContainerBuilder();
     builder
         .AddType<AParam>().ForSelf()
         .WithParameters(new Parameter("sk", 5))
         .SetSingleton();
     var container = builder.Build();
     var a = container.Resolve<AParam>();
     Assert.IsNotNull(a);
     Assert.AreEqual(a.Sk, 5);
 }
Ejemplo n.º 3
0
 public void Should_ResolveNestedDependencies()
 {
     var builder = new IoCContainerBuilder();
     builder.AddType<A>().ForSelf().SetSingleton();
     builder.AddType<ANested>().ForSelf().SetSingleton();
     var container = builder.Build();
     var aNested = container.Resolve<ANested>();
     Assert.IsNotNull(aNested);
 }
Ejemplo n.º 4
0
 public void Should_ResolveTwoInterfacesWithSameClass()
 {
     var builder = new IoCContainerBuilder();
     builder.AddType<A>().For<IA1>().SetSingleton();
     builder.AddType<A>().For<IA2>().SetSingleton();
     var container = builder.Build();
     var ia1 = container.Resolve<IA1>();
     var ia2 = container.Resolve<IA2>();
     Assert.IsNotNull(ia1);
     Assert.IsNotNull(ia2);
     Assert.AreNotSame(ia1, ia2);
 }
Ejemplo n.º 5
0
 public void Should_ResolveAddType()
 {
     var builder = new IoCContainerBuilder();
     builder.AddType<A>().For<IA1>().SetSingleton();
     var container = builder.Build();
     var ia1 = container.Resolve<IA1>();
     Assert.IsNotNull(ia1);
 }