public void FactoryObjectReturnTheSameObject_Success() { var c = new Container(); var emptyClass = new EmptyClass(); var sampleClass = new SampleClass(emptyClass); c.RegisterType<SampleClass>(() => sampleClass).AsSingleton(); var sampleClass1 = c.Resolve<SampleClass>(ResolveKind.FullEmitFunction); var sampleClass2 = c.Resolve<SampleClass>(ResolveKind.FullEmitFunction); Assert.AreEqual(sampleClass1, sampleClass2); Assert.AreEqual(emptyClass, sampleClass1.EmptyClass); Assert.AreEqual(emptyClass, sampleClass2.EmptyClass); }
public void FactoryObjectReturnTheSameObject_Success() { var c = new Container(); var emptyClass = new EmptyClass(); ISampleClass sampleClass = new SampleClass(emptyClass); c.RegisterType<ISampleClass>(() => sampleClass).AsPerHttpContext(); var controller = new DefaultController(); HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter())); var result1 = controller.ResolveObject<ISampleClass>(c, ResolveKind.PartialEmitFunction); var sampleClass1 = (ISampleClass)((ViewResult)result1).Model; var result2 = controller.ResolveObject<ISampleClass>(c, ResolveKind.PartialEmitFunction); var sampleClass2 = (ISampleClass)((ViewResult)result2).Model; Assert.AreEqual(sampleClass1, sampleClass2); Assert.AreEqual(emptyClass, sampleClass1.EmptyClass); Assert.AreEqual(emptyClass, sampleClass2.EmptyClass); }
public void FactoryObjectReturnTheSameObject_Success() { var c = new Container(); var emptyClass = new EmptyClass(); ISampleClass sampleClass = new SampleClass(emptyClass); c.RegisterType<ISampleClass>(() => sampleClass).AsPerThread(); ISampleClass sampleClass1 = null; ISampleClass sampleClass2 = null; var thread = new Thread(() => { sampleClass1 = c.Resolve<ISampleClass>(ResolveKind.PartialEmitFunction); sampleClass2 = c.Resolve<ISampleClass>(ResolveKind.PartialEmitFunction); }); thread.Start(); thread.Join(); Assert.AreEqual(sampleClass1, sampleClass2); Assert.AreEqual(emptyClass, sampleClass1.EmptyClass); Assert.AreEqual(emptyClass, sampleClass2.EmptyClass); }
public void FillClasses(EmptyClass emptyClass, SampleClass sampleClass) { EmptyClass = emptyClass; SampleClass = sampleClass; }
public void FillSampleClass(SampleClass sampleClass) { SampleClass = sampleClass; }