public void ClassWithResolvableAndMultipleContructors_should_pick_contructor_with_most_params() { var request = new ClassWithIntConstructor(1); var factory = new FactoryProvider(); factory.Register(new HttpRequestContext(request, null)); factory.Register(new BasicApplicationContext(null, null, null)); var typeFactory = CreateWithFactory(factory); var result = typeFactory.Create(typeof(ClassWithResolvableAndMultipleContructors)); var newInstance = result as ClassWithResolvableAndMultipleContructors; Assert.That(newInstance, Is.Not.Null); Assert.That(newInstance.RequestContext, Is.Not.Null); Assert.That(newInstance.ApplicationContext, Is.Not.Null); Assert.That(newInstance.IntValue, Is.EqualTo(default(int))); var resolvedRequest = ((HttpRequestContext)newInstance.RequestContext).Dto as ClassWithIntConstructor; Assert.That(resolvedRequest, Is.Not.Null); Assert.That(resolvedRequest.IntValue, Is.EqualTo(1)); }
public void Can_create_ClassWithAResolvableContructors() { var request = new ClassWithIntConstructor(1); var factory = new FactoryProvider(); factory.Register(new HttpRequestContext(request, null)); factory.Register(new BasicApplicationContext(null, null, null)); var typeFactory = CreateWithFactory(factory); var result = typeFactory.Create(typeof(ClassWithAResolvableContructors)); var newInstance = result as ClassWithAResolvableContructors; Assert.That(newInstance, Is.Not.Null); Assert.That(newInstance.RequestContext, Is.Not.Null); Assert.That(newInstance.ApplicationContext, Is.Not.Null); var resolvedRequest = ((HttpRequestContext)newInstance.RequestContext).Dto as ClassWithIntConstructor; Assert.That(resolvedRequest, Is.Not.Null); Assert.That(resolvedRequest.IntValue, Is.EqualTo(1)); }
public void Can_create_ClassWithAResolvableContructors() { var request = new ClassWithIntConstructor(1); var factory = new FactoryProvider(); factory.Register(new HttpRequestContext(request, null)); factory.Register(new BasicApplicationContext(null, null, null)); var typeFactory = CreateWithFactory(factory); var result = typeFactory.Create(typeof(ClassWithAResolvableContructors)); var newInstance = result as ClassWithAResolvableContructors; Assert.That(newInstance, Is.Not.Null); Assert.That(newInstance.RequestContext, Is.Not.Null); Assert.That(newInstance.ApplicationContext, Is.Not.Null); var resolvedRequest = ((HttpRequestContext)newInstance.RequestContext).Dto as ClassWithIntConstructor; Assert.That(resolvedRequest, Is.Not.Null); Assert.That(resolvedRequest.IntValue, Is.EqualTo(1)); }
public void ClassWithResolvableAndMultipleContructors_should_pick_contructor_with_most_params() { var request = new ClassWithIntConstructor(1); var factory = new FactoryProvider(); factory.Register(new HttpRequestContext(request, null)); factory.Register(new BasicApplicationContext(null, null, null)); var typeFactory = CreateWithFactory(factory); var result = typeFactory.Create(typeof(ClassWithResolvableAndMultipleContructors)); var newInstance = result as ClassWithResolvableAndMultipleContructors; Assert.That(newInstance, Is.Not.Null); Assert.That(newInstance.RequestContext, Is.Not.Null); Assert.That(newInstance.ApplicationContext, Is.Not.Null); Assert.That(newInstance.IntValue, Is.EqualTo(default(int))); var resolvedRequest = ((HttpRequestContext)newInstance.RequestContext).Dto as ClassWithIntConstructor; Assert.That(resolvedRequest, Is.Not.Null); Assert.That(resolvedRequest.IntValue, Is.EqualTo(1)); }