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); }
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()); }
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); }
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); }