public void For_Method_Returns_Correct_Component_When_Service_Is_Abstract() { // arrange Dictionary <string, string> mappings = new Dictionary <string, string> { { "name", "name" }, { "age", "age" } }; // act var component = PropertyResolvingComponent.For <AbstractPerson>() .ImplementedBy <Person>() .DependsOn(mappings) .WithLifestyle(LifestyleType.Transient); m_container.Register(component); // assert AbstractPerson abstractPerson = m_container.Resolve <AbstractPerson>(); Assert.IsInstanceOf <Person>(abstractPerson); Person person = (Person)abstractPerson; Assert.AreEqual("Mihir", person.Name); Assert.AreEqual(31, person.PersonAge); Assert.IsNull(person.PlaceOfBirth); }
public void For_Method_Returns_Correct_Component_When_Service_Is_Concrete() { // arrange Dictionary <string, string> mappings = new Dictionary <string, string> { { "name", "name" }, { "age", "age" } }; // act var component = PropertyResolvingComponent.For <Person>() .DependsOn(mappings) .WithLifestyle(LifestyleType.Transient); m_container.Register(component); // assert Person person = m_container.Resolve <Person>(); Assert.IsNotNull(person); }
public void For_Method_Returns_Correct_Component_When_Service_Is_Interface() { // arrange Dictionary <string, string> mappings = new Dictionary <string, string> { { "name", "name" }, { "age", "age" } }; // act var component = PropertyResolvingComponent.For <ICanBePerson>() .ImplementedBy <Person>() .DependsOn(mappings) .WithLifestyle(LifestyleType.Transient); m_container.Register(component); // assert ICanBePerson person = m_container.Resolve <ICanBePerson>(); Assert.IsInstanceOf <Person>(person); }