Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }