public void ShouldDecorateMethodsOnInstantiatedObjects()
        {
            inst.obj = new MockMethod();

            MockObject2 obj = new MockObject2();

            decorator.Decorate(obj);

            MethodAttribute pa = obj.AttributeMethod;

            Assert.IsNotNull(((MockMethod)pa).Obj);
            Assert.IsNotNull(((MockMethod)pa).MethodInformation);
            Assert.AreEqual("DecoratedMethod", ((MockMethod)pa).MethodInformation.Name);
        }
        public void ShouldInjectObjectDecoratorIntoInstanceAttributes()
        {
            inst.obj = new MockMethod();

            MockObject2 obj2 = new MockObject2();

            decorator.Decorate(obj2);

            MockMethod pa = (MockMethod)obj2.AttributeMethod;

            Assert.AreEqual(decorator, pa.GetInjectedDecorator());

            inst.obj = new MockPropertyAttribute();

            MockObject obj = new MockObject();

            decorator.Decorate(obj);

            MockPropertyAttribute ap = (MockPropertyAttribute)obj.AttributeProperty;

            Assert.AreEqual(decorator, ap.GetInjectedDecorator());
        }