public void TestSelfTransient() { Container.Bind <Foo>().AsTransient().NonLazy(); Assert.IsNotNull(Container.Resolve <Foo>()); Assert.IsNotEqual(Container.Resolve <Foo>(), Container.Resolve <Foo>()); }
public void TestConcreteTransient2() { Container.Bind <IFoo>().To <Foo>().AsTransient().NonLazy(); Assert.IsNotNull(Container.Resolve <IFoo>()); Assert.IsNotEqual(Container.Resolve <IFoo>(), Container.Resolve <IFoo>()); }
public void TestCached() { Container.Bind <Foo>().AsTransient(); Container.Bind <IFoo>().To <Foo>().FromResolve().AsCached(); Assert.IsNotEqual(Container.Resolve <Foo>(), Container.Resolve <Foo>()); Assert.IsEqual(Container.Resolve <IFoo>(), Container.Resolve <IFoo>()); }
public void TestCopyIntoAll1() { Container.Bind <Foo>().AsSingle().CopyIntoAllSubContainers(); var sub1 = Container.CreateSubContainer(); Assert.IsNotEqual(sub1.Resolve <Foo>(), Container.Resolve <Foo>()); }
public void RunTest() { var pool = ArrayPool <string> .GetPool(2); pool.Clear(); pool.ClearActiveCount(); Assert.IsEqual(pool.NumActive, 0); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 0); var arr1 = pool.Spawn(); Assert.IsEqual(arr1.Length, 2); arr1[0] = "asdf"; arr1[1] = "zbx"; Assert.IsEqual(pool.NumActive, 1); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 1); pool.Despawn(arr1); Assert.IsEqual(pool.NumActive, 0); Assert.IsEqual(pool.NumInactive, 1); Assert.IsEqual(pool.NumTotal, 1); var arr2 = pool.Spawn(); Assert.IsEqual(arr2.Length, 2); Assert.IsNull(arr2[0]); Assert.IsNull(arr2[1]); Assert.IsEqual(arr2.Length, 2); Assert.IsEqual(arr2, arr1); Assert.IsEqual(pool.NumActive, 1); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 1); var arr3 = pool.Spawn(); Assert.IsNotEqual(arr2, arr3); Assert.IsEqual(pool.NumActive, 2); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 2); pool.Despawn(arr3); pool.Despawn(arr2); Assert.IsEqual(pool.NumActive, 0); Assert.IsEqual(pool.NumInactive, 2); Assert.IsEqual(pool.NumTotal, 2); Assert.Throws(() => pool.Despawn(arr3)); }
public void TestMethodSelfTransient() { Container.Bind <Foo>().FromSubContainerResolve().ByMethod(InstallFooFacade).AsTransient().NonLazy(); var foo = Container.Resolve <Foo>(); Assert.IsNotNull(foo.Bar); Assert.IsNotEqual(foo, Container.Resolve <Foo>()); }
public void TestInstallerSelfTransient() { Container.Bind <Foo>().FromSubContainerResolve().ByInstaller <FooInstaller>().AsTransient().NonLazy(); var foo = Container.Resolve <Foo>(); Assert.IsNotNull(foo.Bar); Assert.IsNotEqual(foo, Container.Resolve <Foo>()); }
public void Test2() { Container.Bind <Bar1>().AsSingle().NonLazy(); Container.Bind <Bar2>().AsSingle().NonLazy(); Container.Bind <IFoo>().To <Foo1>().AsSingle().NonLazy(); Container.Bind <IFoo>().To <Foo2>().AsSingle().WhenNotInjectedInto <Bar1>().NonLazy(); Assert.IsNotEqual( Container.Resolve <Bar1>().Foo, Container.Resolve <Bar2>().Foo); }
public void TestMultipleBindingsTransient() { Container.Bind(typeof(IFoo), typeof(IBar)).To <Foo>().AsTransient().NonLazy(); Assert.That(Container.Resolve <IFoo>() is Foo); Assert.That(Container.Resolve <IBar>() is Foo); Assert.IsNotEqual(Container.Resolve <IFoo>(), Container.Resolve <IFoo>()); Assert.IsNotEqual(Container.Resolve <IFoo>(), Container.Resolve <IBar>()); }
public void TestConcreteCached() { Container.Bind <Foo>().AsCached().NonLazy(); Container.Bind <IFoo>().To <Foo>().AsCached().NonLazy(); Assert.IsNotNull(Container.Resolve <Foo>()); Assert.IsNotNull(Container.Resolve <IFoo>()); Assert.IsEqual(Container.Resolve <IFoo>(), Container.Resolve <IFoo>()); Assert.IsEqual(Container.Resolve <Foo>(), Container.Resolve <Foo>()); Assert.IsNotEqual(Container.Resolve <IFoo>(), Container.Resolve <Foo>()); }
public void TestListPool() { var pool = ListPool <string> .Instance; pool.Clear(); pool.ClearActiveCount(); Assert.IsEqual(pool.NumActive, 0); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 0); var list = pool.Spawn(); list.Add("asdf"); list.Add("zbx"); Assert.IsEqual(pool.NumActive, 1); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 1); pool.Despawn(list); Assert.IsEqual(pool.NumActive, 0); Assert.IsEqual(pool.NumInactive, 1); Assert.IsEqual(pool.NumTotal, 1); var list2 = pool.Spawn(); Assert.IsEqual(list2.Count, 0); Assert.IsEqual(list2, list); Assert.IsEqual(pool.NumActive, 1); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 1); var list3 = pool.Spawn(); Assert.IsNotEqual(list2, list3); Assert.IsEqual(pool.NumActive, 2); Assert.IsEqual(pool.NumInactive, 0); Assert.IsEqual(pool.NumTotal, 2); pool.Despawn(list3); pool.Despawn(list2); Assert.IsEqual(pool.NumActive, 0); Assert.IsEqual(pool.NumInactive, 2); Assert.IsEqual(pool.NumTotal, 2); Assert.Throws(() => pool.Despawn(list3)); }
public void TestConcreteMultipleTransient() { Container.Bind <IFoo>().To(typeof(Foo), typeof(Bar)).AsTransient().NonLazy(); var foos = Container.ResolveAll <IFoo>(); Assert.IsEqual(foos.Count, 2); Assert.That(foos[0] is Foo); Assert.That(foos[1] is Bar); var foos2 = Container.ResolveAll <IFoo>(); Assert.IsNotEqual(foos[0], foos2[0]); Assert.IsNotEqual(foos[1], foos2[1]); }
public void RunTest() { SetupContainer(); var view1 = Container.Resolve <RotorView>(); Assert.IsEqual(view1.Controller.Model, view1.Model); var view2 = Container.Resolve <RotorView>(); Assert.IsEqual(view2.Controller.Model, view2.Model); Assert.IsNotEqual(view2.Model, view1.Model); Assert.IsNotEqual(view2, view1); }
public void TestMultipleBindingsConcreteMultipleTransient() { Container.Bind(typeof(IFoo), typeof(IBar)).To(new List <Type> { typeof(Foo), typeof(Bar) }).AsTransient().NonLazy(); var foos = Container.ResolveAll <IFoo>(); var bars = Container.ResolveAll <IBar>(); Assert.IsEqual(foos.Count, 2); Assert.IsEqual(bars.Count, 2); Assert.That(foos[0] is Foo); Assert.That(foos[1] is Bar); Assert.IsNotEqual(foos[0], bars[0]); Assert.IsNotEqual(foos[1], bars[1]); }
public void TestFactoryScopeTransient() { Container.BindMemoryPool <Foo, Foo.Pool>().AsTransient(); Assert.IsNotEqual(Container.Resolve <Foo.Pool>(), Container.Resolve <Foo.Pool>()); }