public void RegisterResolvePerRequest()
        {
            //Register type
            IoCManager.Instance.Register <PersonType1>(IoCLifeTimeType.PerRequest);

            //Resolve type
            IPerson person  = IoCManager.Instance.ResolveIfRegistered <PersonType1>();
            IPerson person1 = IoCManager.Instance.ResolveIfRegistered <PersonType1>();

            Assert.AreNotEqual(person.Id, person1.Id);

            PersonType1 person11 = IoCManager.Instance.ResolveIfRegistered(typeof(PersonType1)) as PersonType1;
            PersonType1 person12 = IoCManager.Instance.ResolveIfRegistered(typeof(PersonType1)) as PersonType1;

            Assert.AreNotEqual(person11.Id, person12.Id);
        }
        public void ResolveInstance()
        {
            //Register type & instance
            PersonType1 personType1 = new PersonType1 {
                Name = "Faruk"
            };

            IoCManager.Instance.RegisterInstance(personType1);
            IoCManager.Instance.Register <IPerson, PersonType1>();

            //Resolve
            PersonRecorder recorder =
                IoCManager.Instance.ResolveDependencies <PersonRecorder>();

            //Assert
            Assert.IsTrue(recorder.PersonName == "Faruk");
        }
        public void ResolveInstanceContainerControllled()
        {
            //Register type & instance
            //PersonType1 personType1 = new PersonType1 {Name = "Faruk"};
            //IoCManager.Instance.RegisterInstance(personType1);
            IoCManager.Instance.Register <IPerson, PersonType1>(IoCLifeTimeType.ContainerControllled);

            PersonType1 person1 = IoCManager.Instance.ResolveIfRegistered <IPerson>() as PersonType1;

            person1.Name = "Faruk";

            //Resolve
            PersonRecorder recorder =
                IoCManager.Instance.ResolveDependencies <PersonRecorder>();

            //Assert
            Assert.IsTrue(recorder.PersonName == "Faruk");
        }
        public void ResolveInstanceWithUnity()
        {
            UnityContainer container = new UnityContainer();

            //Register type & instance
            PersonType1 personType1 = new PersonType1 {
                Name = "Faruk"
            };

            container.RegisterInstance(personType1);
            container.RegisterType <IPerson, PersonType1>();

            //Resolve
            PersonRecorder recorder =
                container.Resolve <PersonRecorder>();

            //Assert
            Assert.IsTrue(recorder.PersonName == "Faruk");
        }