public void ShouldBeAbleToAddDecoratorsForAGivenIdentifiedInstance()
        {
            MultiImplOne instance = new MultiImplOne();

            store.AddInstanceForName("foo", instance).Decorate(typeof(DecoratingMultiImpl)).Decorate(typeof(ClassThatDependsOnMultiImplInterface));
            ClassThatDependsOnMultiImplInterface constructed = (ClassThatDependsOnMultiImplInterface)store.GetByName("foo");

            Assert.IsNotNull(constructed);
            Assert.IsNotNull(constructed.Dependency);
            Assert.IsTrue(constructed.Dependency is DecoratingMultiImpl);
            Assert.IsNotNull(((DecoratingMultiImpl)constructed.Dependency).Dependency);
            Assert.AreSame(instance, ((DecoratingMultiImpl)constructed.Dependency).Dependency);
        }
		public void ShouldBeAbleToAddDecoratorsForAGivenIdentifiedInstance()
		{
			MultiImplOne instance = new MultiImplOne();
			store.AddInstanceForName("foo", instance).Decorate(typeof(DecoratingMultiImpl)).Decorate(typeof(ClassThatDependsOnMultiImplInterface));
			ClassThatDependsOnMultiImplInterface constructed = (ClassThatDependsOnMultiImplInterface) store.GetByName("foo");

			Assert.IsNotNull(constructed);
			Assert.IsNotNull(constructed.Dependency);
			Assert.IsTrue(constructed.Dependency is DecoratingMultiImpl);
			Assert.IsNotNull(((DecoratingMultiImpl) constructed.Dependency).Dependency);
			Assert.AreSame(instance, ((DecoratingMultiImpl) constructed.Dependency).Dependency);
		}