Пример #1
0
        public void ScopesIgnoreForbiddenDisposal(bool allow, int disposes)
        {
            RegisterDisposeType(allow);
            var scope = sut.CreateScope();
            var obj   = scope.Get <Disposable>();

            scope.Dispose();
            Assert.Equal(disposes, obj.DisposeCount);
        }
Пример #2
0
 public void WrapAndDisposeFromContainer()
 {
     sut.Bind <ITarget>().To <Target>().WrapWith <DisposableTargetWrapper>();
     using (var scope = sut.CreateScope())
     {
         scope.Get <ITarget>().Write();
     }
     Assert.Equal("Pre Target Post Disposed!", sb.ToString());
 }
Пример #3
0
 public void ScopedBindingsAreUntested()
 {
     source.AddScoped <ISimpleObject2, SimpleObjectImplementation>();
     sut.BindServiceCollection(source);
     using var s1 = sut.CreateScope();
     using var s2 = sut.CreateScope();
     Assert.Equal(s1.Get <ISimpleObject2>(), s1.Get <ISimpleObject2>());
     Assert.Equal(s2.Get <ISimpleObject2>(), s2.Get <ISimpleObject2>());
     Assert.NotEqual(s1.Get <ISimpleObject2>(), s2.Get <ISimpleObject2>());
 }
        public void ScopedItem()
        {
            sut.Bind <SimpleObjectImplementation>().To <SimpleObjectImplementation>().AsScoped();
            var s1 = sut.CreateScope();
            var o1 = s1.Get <SimpleObjectImplementation>();
            var o2 = s1.Get <SimpleObjectImplementation>();

            Assert.Equal(o1, o2);
            var s2 = sut.CreateScope();
            var o3 = s2.Get <SimpleObjectImplementation>();
            var o4 = s2.Get <SimpleObjectImplementation>();

            Assert.Equal(o3, o4);
            Assert.NotEqual(o1, o3);
        }
Пример #5
0
        public void ChildScopeContainterResolve()
        {
            sut.Bind <Dep>().ToSelf().AsSingleton();
            var c1 = sut.CreateScope().Get <ChildContainer>();

            c1.Bind <IBO>().To <BO1>();
            var c2 = sut.Get <ChildContainer>();

            c2.Bind <IBO>().To <BO2>();

            var v1 = c1.Get <IBO>();
            var v2 = c2.Get <IBO>();

            Assert.True(v1 is BO1);
            Assert.True(v2 is BO2);
            Assert.Equal(v1.Dep, v2.Dep);
        }