public void GivenTwoInterfacesAndOneImplementationHasADependencyOnTheOther_InstanceIsCreated()
        {
            var container = new ExampleContainer();

            container.Register <ISimpleTwo, SimpleTwo>();
            container.Register <ISimpleLogger, SimpleLogger>();

            var actualInstance = container.Create <ISimpleTwo>();

            Assert.IsType <SimpleTwo>(actualInstance);
            Assert.IsType <SimpleLogger>((actualInstance as SimpleTwo).CheckLogger);
        }
        public void GivenAnInteraceAndClassThatUsesIt_ContainerReturnsInstance()
        {
            var container = new ExampleContainer();

            container.Register <ISimple, Simple>();

            var actualInstance = container.Create <ISimple>();

            actualInstance.Message = "test";

            Assert.IsType <Simple>(actualInstance);
        }
        public void GivenAnInterfaceIsntRegistered_throwsASimpleContainerException()
        {
            var container = new ExampleContainer();

            Assert.Throws <SimpleContainerException>(() => container.Create <ISimple>());
        }