public ObjectWithPrimitives(bool isCool, int myAge, ComplexObjectWithTwoDependencies complexObject) { IsCool = isCool; MyAge = myAge; ComplexObject = complexObject; }
public void should_be_able_to__do_custom_wiring() { var complexObject = new ComplexObjectWithTwoDependencies(new SimpleObjectType(), new ObjectWithOneDependency(new SimpleObjectType())) { Id = Guid.NewGuid(), OneDependencyObject = { Id = Guid.NewGuid() }, SimpleObjectType = { Id = Guid.NewGuid() } }; ObjectFactory.Configure(x => { x.Add<ObjectWithPrimitives>() .WithCustomConstructor(new Dictionary<string, object>() { {"isCool", true}, {"myAge", 31}, {"complexObject",complexObject} }); x.Add<ComplexObjectWithTwoDependencies>(); }); var primitiveObject = ObjectFactory.GetInstance<ObjectWithPrimitives>(); Assert.AreEqual(primitiveObject.IsCool, true); Assert.AreEqual(primitiveObject.MyAge, 31); Assert.AreEqual(primitiveObject.MyAge, 31); Assert.IsNotNull(primitiveObject.ComplexObject); Assert.IsNotNull(primitiveObject.ComplexObject.OneDependencyObject); Assert.IsNotNull(primitiveObject.ComplexObject.SimpleObjectType); Assert.AreEqual(complexObject.Id, primitiveObject.ComplexObject.Id); Assert.AreEqual(complexObject.OneDependencyObject.Id, primitiveObject.ComplexObject.OneDependencyObject.Id); Assert.AreEqual(complexObject.SimpleObjectType.Id, primitiveObject.ComplexObject.SimpleObjectType.Id); }