public void ShouldDisableWhenMergedWithRemoveOperation()
        {
            var op       = new AddSynonymOperation("schema", "name", "targetschema", "targetdatabase", "targetobject");
            var removeOp = new RemoveSynonymOperation("SCHEMA", "NAME");

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.True);
        }
        public void ShouldUpdateTargetObjectNameIfItGetsRenamedByMerge(string targetDatabaseName)
        {
            var op       = new AddSynonymOperation("schema", "name", "targetschema", targetDatabaseName, "targetobject");
            var renameOp = new RenameObjectOperation("TARGETSCHEMA", "TARGETOBJECT", "newtargetobject");

            op.Merge(renameOp);
            Assert.That(op.Disabled, Is.False);
            if (null == targetDatabaseName)
            {
                Assert.That(renameOp.Disabled, Is.True);
                Assert.That(op.TargetObjectName, Is.EqualTo("newtargetobject"));
            }
            else
            {
                Assert.That(renameOp.Disabled, Is.False);
                Assert.That(op.TargetObjectName, Is.EqualTo("targetobject"));
            }
        }