public DataProducerTest() : base() { customerTable = new TableEntity("dbo", "Customer"); var customerId = DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null); customerTable.AddColumn(customerId); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("CustomerType", new ColumnDataTypeDefinition("int", false), false, 2, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Name", new ColumnDataTypeDefinition("varchar", true), false, 3, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("IsActive", new ColumnDataTypeDefinition("bit", true), false, 4, false, null, null)); var fk = new ForeignKeyEntity(); fk.ReferencingColumn = "CustomerId"; fk.ReferencingTable = customerTable; orderTable = new TableEntity("dbo", "Order"); var customerIdColumn = DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), false, 2, true, null, fk); customerIdColumn.Generator = new SQLDataProducer.Entities.Generators.IntGenerators.ValueFromOtherColumnIntGenerator(customerIdColumn.ColumnDataType); customerIdColumn.Generator.GeneratorParameters["Value From Column"].Value = customerId; orderTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("OrderId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null)); orderTable.AddColumn(customerIdColumn); orderTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Amount", new ColumnDataTypeDefinition("decimal(19, 6)", false), false, 3, false, null, null)); orderTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("SessionId", new ColumnDataTypeDefinition("uniqueidentifier", false), false, 4, false, null, null)); }
public InsertConsumerTest() { customerTable = new TableEntity("dbo", "Customer"); var customerId = DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null); customerTable.AddColumn(customerId); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("CustomerType", new ColumnDataTypeDefinition("int", false), false, 2, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Name", new ColumnDataTypeDefinition("varchar", false), false, 3, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("IsActive", new ColumnDataTypeDefinition("bit", false), false, 4, false, null, null)); orderTable = new TableEntity("dbo", "Orders"); orderTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("OrderId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null)); var fk = new ForeignKeyEntity(); fk.ReferencingColumn = "CustomerId"; fk.ReferencingTable = customerTable; var customerIdColumn = DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), false, 2, true, null, fk); customerIdColumn.Generator = new SQLDataProducer.Entities.Generators.IntGenerators.ValueFromOtherColumnIntGenerator(customerIdColumn.ColumnDataType); customerIdColumn.Generator.GeneratorParameters.ValueFromOtherColumn.Value = customerId; orderTable.AddColumn(customerIdColumn); orderTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("ArticleId", new ColumnDataTypeDefinition("int", false), false, 3, false, null, null)); orderTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("TotalAmount", new ColumnDataTypeDefinition("decimal(19, 6)", false), false, 4, false, null, null)); var builder = new System.Data.SqlClient.SqlConnectionStringBuilder(); builder.DataSource = "localhost"; builder.InitialCatalog = "AdventureWorks"; builder.IntegratedSecurity = true; connectionString = builder.ToString(); }
public void shouldUseSameGeneratedValueWhenGettingValueFromSameTable() { TableEntity table = new TableEntity("dbo", "Calendar"); var startDate = DatabaseEntityFactory.CreateColumnEntity("StartDate", new ColumnDataTypeDefinition("datetime", false), false, 1, false, null, null); var endDate = DatabaseEntityFactory.CreateColumnEntity("EndDate", new ColumnDataTypeDefinition("datetime", false), false, 2, false, null, null); endDate.Generator = new ValueFromOtherColumnDateTimeGenerator(endDate.ColumnDataType); endDate.Generator.GeneratorParameters["Value From Column"].Value = startDate; table.AddColumn(startDate); table.AddColumn(endDate); var tables = new List <ExecutionTable>(); tables.Add(new ExecutionTable(table, 1)); List <DataRowEntity> rows = new List <DataRowEntity>(new DataProducer(new ValueStore()).ProduceRows(tables)); Assert.That(rows.Count, Is.EqualTo(1)); var row = rows[0]; // Check key is the same as it is for the CustomerId column in CustomerRow Assert.That(row.Fields[1].KeyValue, Is.EqualTo(row.Fields[0].KeyValue)); }
private static TableEntity CreateCustomerTable() { var customerTable = new TableEntity("dbo", "Customer"); var customerId = DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null); customerTable.AddColumn(customerId); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("CustomerType", new ColumnDataTypeDefinition("int", false), false, 2, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Name", new ColumnDataTypeDefinition("varchar", false), false, 3, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("IsActive", new ColumnDataTypeDefinition("bit", false), false, 4, false, null, null)); return(customerTable); }
private static TableEntity CreateOrderTable() { var ordertable = new TableEntity("dbo", "Orders"); ordertable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("OrderId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null)); ordertable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("OrderDate", new ColumnDataTypeDefinition("datetime", false), false, 2, false, null, null)); ordertable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Quantity", new ColumnDataTypeDefinition("int", false), false, 3, false, null, null)); ordertable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("TotalCost", new ColumnDataTypeDefinition("decimal(19,6)", false), false, 4, false, null, null)); ordertable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), false, 5, true, null, new ForeignKeyEntity())); return(ordertable); }
static ProjectModelDummy() { model = new ProjectModel(); var customerTable = new TableEntity("dbo", "Customer"); var customerId = DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null); customerTable.AddColumn(customerId); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("CustomerType", new ColumnDataTypeDefinition("int", false), false, 2, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Name", new ColumnDataTypeDefinition("varchar", false), false, 3, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("IsActive", new ColumnDataTypeDefinition("bit", false), false, 4, false, null, null)); model.Tables.Add(customerTable); }
public TableQueryGeneratorTest() { customerTable = new TableEntity("dbo", "Customer"); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("CustomerId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("CustomerType", new ColumnDataTypeDefinition("int", false), false, 2, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Name", new ColumnDataTypeDefinition("varchar", false), false, 3, false, null, null)); customerTable.AddColumn(DatabaseEntityFactory.CreateColumnEntity("IsActive", new ColumnDataTypeDefinition("bit", false), false, 4, false, null, null)); tableWithIdentity = new TableEntity("dbo", "Order"); tableWithIdentity.AddColumn(DatabaseEntityFactory.CreateColumnEntity("OrderId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null)); tableWithIdentity.AddColumn(DatabaseEntityFactory.CreateColumnEntity("OrderDate", new ColumnDataTypeDefinition("datetime", false), false, 2, false, null, null)); tableWithNullFields = new TableEntity("dbo", "OrderDetails"); tableWithNullFields.AddColumn(DatabaseEntityFactory.CreateColumnEntity("OrderDetailId", new ColumnDataTypeDefinition("int", false), true, 1, false, null, null)); tableWithNullFields.AddColumn(DatabaseEntityFactory.CreateColumnEntity("Details", new ColumnDataTypeDefinition("varchar(max)", true), false, 2, false, null, null)); }
/// <summary> /// Crateas a new table with the same columns as the original table. The default values will be used for all column parameters. /// </summary> /// <param name="table"></param> /// <returns></returns> public static TableEntity CreateTableFromTable(TableEntity table) { var newTable = new TableEntity(table.TableSchema, table.TableName); foreach (var column in table.Columns) { newTable.AddColumn(CreateColumnFromColumn(column)); } return(newTable); }
public void GivenSomeTableConfigurationItShouldGenerateValuesForAllColumns() { TableEntity table = new TableEntity("dbo", "Customer"); table.AddColumn(DatabaseEntityFactory.CreateColumnEntity( "CustomerName", new ColumnDataTypeDefinition("varchar(500)", true), false, 2, false, string.Empty, null)); ColumnEntity firstCol = table.Columns.First(); Assert.IsTrue(firstCol.ColumnName == "CustomerName"); Assert.IsTrue(firstCol.IsForeignKey == false); Assert.IsTrue(firstCol.IsIdentity == false); Assert.IsTrue(firstCol.OrdinalPosition == 2); Assert.IsTrue(firstCol.Generator != null); Assert.IsTrue(firstCol.PossibleGenerators.Count > 0); Assert.IsTrue(firstCol.HasWarning == false); table.AddColumn(DatabaseEntityFactory.CreateColumnEntity( "CustomerID", new ColumnDataTypeDefinition("int", false), true, 1, false, string.Empty, null)); ColumnEntity secondCol = table.Columns.Skip(1).First(); Assert.IsTrue(secondCol.ColumnName == "CustomerID"); Assert.IsTrue(secondCol.IsForeignKey == false); Assert.IsTrue(secondCol.IsIdentity == true); Assert.IsTrue(secondCol.OrdinalPosition == 1); Assert.IsTrue(secondCol.Generator != null); Assert.IsTrue(secondCol.PossibleGenerators.Count > 0); Assert.IsTrue(secondCol.HasWarning == false); }
public void ShouldCreateTableFromTable() { TableEntity table = new TableEntity("dbo", "Customer"); table.AddColumn(DatabaseEntityFactory.CreateColumnFromColumn(c1)) .AddColumn(DatabaseEntityFactory.CreateColumnFromColumn(c2)); var clonedTable = DatabaseEntityFactory.CreateTableFromTable(table); Assert.That(clonedTable.FullName, Is.EqualTo(table.FullName)); CollectionAssert.AreEqual(table.Columns, clonedTable.Columns); }
public void ShouldAddColumnToTable() { TableEntity table = new TableEntity("dbo", "Customer"); var column = DatabaseEntityFactory.CreateColumnEntity( "CustomerName", new ColumnDataTypeDefinition("varchar(500)", true), false, 2, false, string.Empty, null); table.AddColumn(column); Assert.That(table.Columns.Contains(column)); }
public void ShouldAddIdentityColumnAndBeMarkedWithIdentityTable() { TableEntity table = new TableEntity("dbo", "Customer"); var column = DatabaseEntityFactory.CreateColumnEntity( "CustomerId", new ColumnDataTypeDefinition("int", true), true, 1, false, string.Empty, null); table.AddColumn(column); Assert.That(table.Columns.Contains(column)); Assert.That(table.HasIdentityColumn); }