public void ShouldWriteQueryForAddDataTypeUserDefinedType()
        {
            var op = new AddDataTypeOperation(SchemaName, Name, AssemblyName, ClassName);

            var expectedQuery = "create type [schemaName].[name] external name assemblyName.[className]";

            Assert.AreEqual(expectedQuery, op.ToQuery());
        }
        public void ShouldWriteQueryForAddDataTypeAlias()
        {
            var op = new AddDataTypeOperation(SchemaName, Name, From);

            var expectedQuery = "create type [schemaName].[name] from uniqueidentifier";

            Assert.AreEqual(expectedQuery, op.ToQuery());
        }
        public void ShouldMergeIfDataTypeRemoved()
        {
            var op = new AddDataTypeOperation("schema", "name", "from");
            var removeDataTypeOp = new RemoveDataTypeOperation("SCHEMA", "NAME");

            op.Merge(removeDataTypeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeDataTypeOp.Disabled, Is.True);
        }
        public void ShouldSetPropertiesForAddDataTypeUserDefinedTableType()
        {
            var op = new AddDataTypeOperation(SchemaName, Name, AsTable, TableConstraint);

            Assert.AreEqual(SchemaName, op.SchemaName);
            Assert.AreEqual(Name, op.Name);
            Assert.AreEqual(AsTable, op.AsTable);
            Assert.AreEqual(TableConstraint, op.TableConstraint);
        }
        public void ShouldSetPropertiesForAddDataTypeUserDefinedType()
        {
            var op = new AddDataTypeOperation(SchemaName, Name, AssemblyName, ClassName);

            Assert.AreEqual(SchemaName, op.SchemaName);
            Assert.AreEqual(Name, op.Name);
            Assert.AreEqual(AssemblyName, op.AssemblyName);
            Assert.AreEqual(ClassName, op.ClassName);
        }
        public void ShouldSetPropertiesForAddDataTypeAlias()
        {
            var op = new AddDataTypeOperation(SchemaName, Name, From);

            Assert.AreEqual(SchemaName, op.SchemaName);
            Assert.AreEqual(Name, op.Name);
            Assert.AreEqual(From, op.From);
            Assert.That(op.ObjectName, Is.EqualTo(SchemaName + "." + Name));
        }
        public void ShouldWriteQueryForAddDataTypeUserDefinedTableType()
        {
            var op            = new AddDataTypeOperation(SchemaName, Name, AsTable, TableConstraint);
            var expectedQuery =
                "create type [schemaName].[name] as table (" +
                $"[name] varchar(50) not null constraint [{DefaultConstraintName}] default '', " +
                "[int column] int identity not null constraint1, constraint2" +
                ")";

            Assert.AreEqual(expectedQuery, op.ToQuery());
        }