public static AdditiveObjectStub operator +(AdditiveObjectStub a, Brush brush)
            {
                AdditiveObjectStub stub = new AdditiveObjectStub();

                stub.Added   = true;
                stub.AddType = "Brush";
                return(stub);
            }
            public static AdditiveObjectStub operator +(AdditiveObjectStub a, double d)
            {
                AdditiveObjectStub stub = new AdditiveObjectStub();

                stub.Added   = true;
                stub.AddType = "double";
                return(stub);
            }
        public void Invoke_IncrementOpAdditionOverrideType_CallsOpAdditionOverride()
        {
            ChangePropertyActionTargetStub target = CreateTargetStub();
            Button               host             = CreateButton();
            StubTrigger          trigger          = CreateStubTrigger();
            ChangePropertyAction action           = CreateChangePropertyAction(ChangePropertyActionTargetStub.ObjectPropertyName, CreateAdditiveObject());
            AdditiveObjectStub   addObject        = CreateAdditiveObject();

            target.ObjectProperty = addObject;
            action.TargetObject   = target;
            action.Increment      = true;
            AttachAction(host, trigger, action);
            trigger.FireStubTrigger();

            Assert.IsTrue(((AdditiveObjectStub)target.ObjectProperty).Added, "AddObject.op_Addition should have been called.");
        }