public void UpdatePKColumn_ThisIsIlegal_NoticeInValidate() { // C phase IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("database"); Table table1 = new Table("t1"); Column c1 = new Column("column1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table1.AddColumn(c1); table1.primaryKey.AddKey(c1); Row row = table1.CreateRowDefinition(); row.GetCell(c1.columnName).data = "data"; table1.AddRow(row); Row row2 = table1.CreateRowDefinition(); row.GetCell(c1.columnName).data = row.GetCell(c1.columnName).data + "a"; table1.AddRow(row2); database.AddTable(table1); databaseContainer.AddDatabase(database); // T phase Update update = CreateUpdate(databaseContainer, database.databaseName, table1.tableName); update.AddValue(c1.columnName, row2.GetCell(c1.columnName).data); update.whereClause.AddCritery(c1.columnName, row.GetCell(c1.columnName).data, OperatorFactory.GetOperatorFactory().GetOperator(OperatorKeys.EqualKey)); Assert.IsFalse(update.ValidateParameters()); }
public void UpdateFKColumn_BadArguments_ConcretelyFKViolated_NotifyInValidate() { // C phase IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("database"); Table table1 = new Table("t1"); Column c1table1 = new Column("column1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table1.AddColumn(c1table1); table1.primaryKey.AddKey(c1table1); Table table2 = new Table("t2"); Column c1table2 = new Column("column1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table2.AddColumn(c1table2); table2.primaryKey.AddKey(c1table2); table2.foreignKey.AddForeignKey(c1table2, c1table1); Row r1 = table1.CreateRowDefinition(); r1.GetCell(c1table1.columnName).data = "asda"; table1.AddRow(r1); Row r2 = table2.CreateRowDefinition(); r2.GetCell(c1table2.columnName).data = r1.GetCell(c1table1.columnName).data; table2.AddRow(r2); database.AddTable(table1); database.AddTable(table2); databaseContainer.AddDatabase(database); // T phase Update update = CreateUpdate(databaseContainer, database.databaseName, table2.tableName); update.AddValue(c1table2.columnName, r2.GetCell(c1table2.columnName).data + "aaa"); Assert.IsFalse(update.ValidateParameters()); }
public void Select_BadArgument_DatabaseDoesntExit_NoticedInValidateParameters() { IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("aa"); ITable table = new Table("table1"); string columnName = "c1"; Column column = new Column(columnName, DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey)); table.AddColumn(column); Row row = table.CreateRowDefinition(); row.GetCell(columnName).data = "1"; table.AddRow(row); database.AddTable(table); databaseContainer.AddDatabase(database); string notValidDatabaseName = "bb"; Assert.IsFalse(databaseContainer.ExistDatabase(notValidDatabaseName)); Select select = CreateSelect(databaseContainer, notValidDatabaseName, table.tableName, true); Assert.IsFalse(select.ValidateParameters()); select.Execute(); Assert.AreEqual(0, select.GetAfectedRowCount()); Console.WriteLine(select.GetResult()); }
public void TestGetDoubleTypeDataType() { DataTypesFactory dataTypesFactory = GetDataTypesFactory(); DoubleType doubleType = DoubleType.GetDoubleType(); Assert.AreEqual(doubleType, dataTypesFactory.GetDataType(TypesKeyConstants.DoubleTypeKey)); }
public void TestGetIntTypeDataType() { DataTypesFactory dataTypesFactory = GetDataTypesFactory(); IntType intType = IntType.GetIntType(); Assert.AreEqual(intType, dataTypesFactory.GetDataType(TypesKeyConstants.IntTypeKey)); }
public void TestGetStringTypeDataType() { DataTypesFactory dataTypesFactory = GetDataTypesFactory(); StringType stringType = StringType.GetStringType(); Assert.AreEqual(stringType, dataTypesFactory.GetDataType(TypesKeyConstants.StringTypeKey)); }
public void InsertInTableWithPK_GoodArgument_TheQueryInsertsTheNewRows() { //Construct IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("database"); ITable table = new Table("table1"); Column column = new Column("c1t1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table.AddColumn(column); table.primaryKey.AddKey(column); database.AddTable(table); databaseContainer.AddDatabase(database); //Test bool b = true; int limit = 100; Insert insert; for (int i = 0; i < limit && b; i++) { insert = CreateInsert(databaseContainer, database.databaseName, table.tableName); insert.AddValue(i + ""); b = insert.ValidateParameters(); insert.Execute(); } Assert.IsTrue(b); Assert.AreEqual(limit, table.GetRowCount()); }
private static Table CreatePrimaryKeysTable() { Table table = new Table(tableName); for (int i = 0; i < testTableColumns.Length; i++) { table.AddColumn(new Column(testTableColumns[i], DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey))); } return(table); }
public void GetCell() { String columnName = "C1"; Row row = new Row(); Cell c = new Cell(new Column(columnName, (DoubleType)DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.DoubleTypeKey)), "data", null); row.AddCell(c); Assert.IsNotNull(row.GetCell(columnName)); }
public void Update_GodArguments_TheQueryUpdateTheNewsRows() { IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); string c1FirstRowData = "aaa"; string c2FirstRowData = "1"; string c1SecondRowData = "aaaa"; string c2SecondRowData = "2"; Database database = new Database("TestInsert3"); ITable table = new Table("table1"); Column column1 = new Column("c1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); Column column2 = new Column("c2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey)); Assert.IsTrue(column1.dataType.IsAValidDataType(c1FirstRowData)); Assert.IsTrue(column2.dataType.IsAValidDataType(c2FirstRowData)); Assert.IsTrue(column1.dataType.IsAValidDataType(c1SecondRowData)); Assert.IsTrue(column2.dataType.IsAValidDataType(c2SecondRowData)); table.AddColumn(column1); table.AddColumn(column2); database.AddTable(table); databaseContainer.AddDatabase(database); int rowCount = table.GetRowCount(); Select firstSelect = TestSelect.CreateSelect(databaseContainer, database.databaseName, table.tableName, true); firstSelect.ValidateParameters(); firstSelect.Execute(); Assert.AreEqual(0, firstSelect.GetAfectedRowCount()); Insert insert = CreateInsert(databaseContainer, database.databaseName, table.tableName); insert.AddValue(c1FirstRowData); insert.AddValue(c2FirstRowData); Assert.IsTrue(insert.ValidateParameters()); insert.Execute(); Select secondSelect = TestSelect.CreateSelect(databaseContainer, database.databaseName, table.tableName, true); secondSelect.ValidateParameters(); secondSelect.Execute(); Assert.IsTrue(firstSelect.GetAfectedRowCount() < secondSelect.GetAfectedRowCount()); Assert.IsTrue(column1.GetCells(c1FirstRowData).Count > 0); Assert.IsTrue(column2.GetCells(c2FirstRowData).Count > 0); Assert.AreEqual(rowCount + 1, table.GetRowCount()); Update update = CreateUpdate(databaseContainer, database.databaseName, table.tableName); update.AddValue(column1.columnName, c1FirstRowData); update.AddValue(column2.columnName, c2FirstRowData); Assert.IsTrue(update.ValidateParameters()); update.Execute(); Select thirdSelect = TestSelect.CreateSelect(databaseContainer, database.databaseName, table.tableName, true); thirdSelect.ValidateParameters(); thirdSelect.Execute(); Assert.IsTrue(firstSelect.GetAfectedRowCount() < thirdSelect.GetAfectedRowCount()); Assert.IsTrue(column1.GetCells(c1FirstRowData).Count > 0); Assert.IsTrue(column2.GetCells(c2FirstRowData).Count > 0); Assert.AreEqual(rowCount + 1, table.GetRowCount()); }
public static Table CreateOrdinaryNoRemovableProfilesTable(ITable profilesTable) { Table table = new Table(SystemeConstants.OrdinaryNoRemovableProfilesTableName); table.AddColumn(new Column(SystemeConstants.ProfileNameColumn, DataTypesFactory.GetDataTypesFactory().GetDataType(SystemeConstants.ProfileNameColumnType))); table.primaryKey.AddKey(table.GetColumn(SystemeConstants.ProfileNameColumn)); table.foreignKey.AddForeignKey(table.GetColumn(SystemeConstants.ProfileNameColumn), profilesTable.GetColumn(SystemeConstants.ProfileNameColumn)); Row row = table.CreateRowDefinition(); row.GetCell(SystemeConstants.ProfileNameColumn).data = SystemeConstants.AnonimousProfile; table.AddRow(row); return(table); }
public static Table CreateTableWithAColumnOfEachDataType() { List <string> colNames = new List <string>() { "c1", "c2", "c3" }; Table table = new Table("aaaa"); table.AddColumn(new Column(colNames[0], DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey))); table.AddColumn(new Column(colNames[1], DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.DoubleTypeKey))); table.AddColumn(new Column(colNames[2], DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey))); return(table); }
public void CreateRowDefinition_ReturnWellFormedRowDefinition() { Table table = new Table("testRowDefinition"); Column column1 = new Column("c1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); Column column2 = new Column("c2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey)); table.AddColumn(column1); table.AddColumn(column2); Row row = table.CreateRowDefinition(); Assert.IsTrue(row.ExistCell(column1.columnName)); Assert.IsTrue(row.ExistCell(column2.columnName)); }
public override void ExecuteParticularQueryAction() { Table newTable = new Table(this.targetTableName); IEnumerator <KeyValuePair <string, string> > enumerator = columnsAndTypes.GetEnumerator(); while (enumerator.MoveNext()) { newTable.AddColumn(new Column(enumerator.Current.Key, DataTypesFactory.GetDataTypesFactory().GetDataType(enumerator.Current.Value))); } IDatabase afectedDatabase = this.GetContainer().GetDatabase(this.targetDatabase); afectedDatabase.AddTable(newTable); this.SetResult(QuerysStringResultConstants.TableWasCreated(this.targetDatabase, this.targetTableName)); }
public void Where_EvaluateARowNotFulfillTheCritery_CriteryIsOnStringTypeColumn_ReturnFalse() { Where where = CreateWhere(); ITable table = new Table("testTable"); Column column = new Column("C1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table.AddColumn(column); Row row = table.CreateRowDefinition(); Cell cell = row.GetCell(column.columnName); cell.data = "aaa"; where.AddCritery(column.columnName, cell.data + "b", Operator.equal); Assert.IsFalse(where.IsSelected(row)); }
public static Column CreateColumn(List <string> cellData, string dataType, string columnName) { Row row; Cell cell; Column column = new Column(columnName, DataTypesFactory.GetDataTypesFactory().GetDataType(dataType)); for (int i = 0; i < cellData.Count; i++) { row = new Row(); cell = ObjectConstructor.CreateCell(column, cellData[i], row); column.AddCell(cell); row.AddCell(cell); } return(column); }
public void Where_EvaluateARowNotFulfillTheCritery_CriteryIsOnDoubleTypeColumn_ReturnFalse() { Where where = CreateWhere(); ITable table = new Table("testTable"); Column column = new Column("C1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.DoubleTypeKey)); table.AddColumn(column); Row row = table.CreateRowDefinition(); Cell cell = row.GetCell(column.columnName); cell.data = "1.3"; Assert.IsTrue(double.TryParse(cell.data, out double value)); where.AddCritery(column.columnName, value + 1 + "", Operator.equal); Assert.IsFalse(where.IsSelected(row)); }
public static Table CreateNoRemovableUsersTable(ITable usersTable) { Table table = new Table(SystemeConstants.NoRemovableUsersTableName); table.AddColumn(new Column(SystemeConstants.UsersNameColumnName, DataTypesFactory.GetDataTypesFactory().GetDataType(SystemeConstants.UsersNameColumnType))); table.primaryKey.AddKey(table.GetColumn(SystemeConstants.UsersNameColumnName)); table.foreignKey.AddForeignKey(table.GetColumn(SystemeConstants.UsersNameColumnName), usersTable.GetColumn(SystemeConstants.UsersNameColumnName)); Row row = table.CreateRowDefinition(); row.GetCell(SystemeConstants.UsersNameColumnName).data = SystemeConstants.AdminUser; table.AddRow(row); row = table.CreateRowDefinition(); row.GetCell(SystemeConstants.UsersNameColumnName).data = SystemeConstants.AnonimousUser; table.AddRow(row); return(table); }
public void GetColumnCount_ReturnCoherentValue() { Table table = new Table("testRowCount"); int columnCount = table.GetColumnCount(); string columnName = VariousFunctions.GenerateRandomString(7); for (int i = 0; i < 100; i++) { while (table.ExistColumn(columnName)) { columnName = VariousFunctions.GenerateRandomString(7); } Assert.IsFalse(table.ExistColumn(columnName)); table.AddColumn(new Column(columnName, DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey))); Assert.AreEqual(columnCount + i + 1, table.GetColumnCount()); } }
public static Table CreatePrivilegesOfProfilesInDatabasesTable(ITable profilesTable, ITable privilegesTable) { Table table = new Table(SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName); DataTypesFactory dataTypesFactory = DataTypesFactory.GetDataTypesFactory(); Column profilesNameColumn = new Column(SystemeConstants.PrivilegesOfProfilesOnDatabasesProfileColumnName, dataTypesFactory.GetDataType(SystemeConstants.PrivilegesOfProfilesOnDatabasesProfileColumnType)); Column databaseNameColumn = new Column(SystemeConstants.PrivilegesOfProfilesOnDatabasesDatabaseNameColumnName, dataTypesFactory.GetDataType(SystemeConstants.PrivilegesOfProfilesOnDatabasesDatabaseNameColumnType)); Column privilegeNameColumn = new Column(SystemeConstants.PrivilegesOfProfilesOnDatabasesPrivilegeColumnName, dataTypesFactory.GetDataType(SystemeConstants.PrivilegesOfProfilesOnDatabasesPrivilegeColumnType)); table.AddColumn(profilesNameColumn); table.AddColumn(databaseNameColumn); table.AddColumn(privilegeNameColumn); table.primaryKey.AddKey(profilesNameColumn); table.primaryKey.AddKey(databaseNameColumn); table.primaryKey.AddKey(privilegeNameColumn); table.foreignKey.AddForeignKey(profilesNameColumn, profilesTable.GetColumn(SystemeConstants.ProfileNameColumn)); table.foreignKey.AddForeignKey(privilegeNameColumn, privilegesTable.GetColumn(SystemeConstants.DatabasesPrivilegesPrivilegeNameColumnName)); return(table); }
public void Select_GoodArguments_TableEmpty_ShouldntFindResults() { IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("aa"); databaseContainer.AddDatabase(database); //Notice the references. (this database object references, no the 'referencias') ITable table = new Table("table1"); Column column = new Column("c1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table.AddColumn(column); database.AddTable(table); Select select = CreateSelect(databaseContainer, database.databaseName, table.tableName, true); select.whereClause.AddCritery(column.columnName, table.GetColumn(column.columnName).dataType.GetDataTypeDefaultValue(), Operator.equal); Assert.IsTrue(select.ValidateParameters()); Assert.IsTrue(table.GetRowCount() == 0); //Maybe assert.equal select.Execute(); Assert.IsTrue(select.GetAfectedRowCount() == 0); }
public void DeleteRow_TheRowIsReferedForAnotherRows_DontDeleteTheRowRefered() { //Construction phase IDatabaseContainer container = ObjectConstructor.CreateDatabaseContainer(); Database db = new Database("database1"); ITable table1 = new Table("table1"); Column column1t1 = new Column("c1t1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey)); table1.AddColumn(column1t1); table1.primaryKey.AddKey(column1t1); db.AddTable(table1); ITable table2 = new Table("table2"); Column column1t2 = new Column("c1t2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey)); table2.AddColumn(column1t2); table2.primaryKey.AddKey(column1t2); db.AddTable(table2); container.AddDatabase(db); table2.foreignKey.AddForeignKey(column1t2, column1t1); //Insert some data Row rowT1; int limit = 10; for (int i = 0; i <= limit; i++) { rowT1 = table1.CreateRowDefinition(); rowT1.GetCell(column1t1.columnName).data = "" + i; table1.AddRow(rowT1); } Row rowT2 = table2.CreateRowDefinition(); rowT2.GetCell(column1t2.columnName).data = "" + limit; table2.AddRow(rowT2); //Test int numberOfRows = table1.GetRowCount(); Delete delete = CreateDelete(container, db.databaseName, table1.tableName); delete.whereClause.AddCritery(column1t1.columnName, "" + 11, Operator.less); Assert.IsTrue(delete.ValidateParameters()); delete.Execute(); Assert.AreEqual(table2.GetRowCount(), numberOfRows - delete.GetAfectedRowCount()); Assert.IsTrue(table1.GetColumn(column1t1.columnName).ExistCells(rowT2.GetCell(column1t2.columnName).data)); }
public void GetRowCount_ReturnCoherentValue() { Table table = new Table("testRowCount"); Column column = new Column("column1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table.AddColumn(column); int rowCount = table.GetRowCount(); Row row; string genericData = "aaa"; for (int i = 0; i < 200; i++) { row = table.CreateRowDefinition(); Assert.IsTrue(column.dataType.IsAValidDataType(genericData)); row.GetCell(column.columnName).data = genericData; table.AddRow(row); Assert.AreEqual(rowCount + i + 1, table.GetRowCount()); } }
public static Table CreatePrivilegesOfProfilesTable(ITable profilesTable, ITable privilegesTable) { Table table = new Table(SystemeConstants.PrivilegesOfProfilesOnTablesTableName); DataTypesFactory dataTypesFactory = DataTypesFactory.GetDataTypesFactory(); Column profilesNameColumn = new Column(SystemeConstants.PrivilegesOfProfilesOnTablesProfileColumnName, dataTypesFactory.GetDataType(SystemeConstants.PrivilegesOfProfilesOnTablesProfileColumnType)); Column databaseNameColumn = new Column(SystemeConstants.PrivilegesOfProfilesOnTablesDatabaseNameColumnName, dataTypesFactory.GetDataType(SystemeConstants.PrivilegesOfProfilesOnTablesDatabaseNameColumnType)); Column tableNameColumn = new Column(SystemeConstants.PrivilegesOfProfilesOnTablesTableNameColumnName, dataTypesFactory.GetDataType(SystemeConstants.PrivilegesOfProfilesOnTablesTableNameColumnNameColumnType)); Column privilegeNameColumn = new Column(SystemeConstants.PrivilegesOfProfilesOnTablesPrivilegeColumnName, dataTypesFactory.GetDataType(SystemeConstants.PrivilegesOfProfilesOnTablesPrivilegeColumnType)); table.AddColumn(profilesNameColumn); table.AddColumn(databaseNameColumn); table.AddColumn(tableNameColumn); table.AddColumn(privilegeNameColumn); table.primaryKey.AddKey(profilesNameColumn); table.primaryKey.AddKey(databaseNameColumn);//Se podria crear una tabla para guardar datos de las tablas y otras para los datos de las databases, pero bueno, no me ha dado la gana de hacerlo. table.primaryKey.AddKey(tableNameColumn); table.primaryKey.AddKey(privilegeNameColumn); table.foreignKey.AddForeignKey(profilesNameColumn, profilesTable.GetColumn(SystemeConstants.ProfileNameColumn)); table.foreignKey.AddForeignKey(privilegeNameColumn, privilegesTable.GetColumn(SystemeConstants.PrivilegesPrivilegeNameColumnName)); return(table); }
public void InsertBadArguments_ConcretelyNotEnougthParameters_NoticeInValidate() { IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("TestInsert2"); ITable table = new Table("table1"); Column column1 = new Column("c1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); Column column2 = new Column("c2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey)); table.AddColumn(column1); table.AddColumn(column2); database.AddTable(table); databaseContainer.AddDatabase(database); int rowCount = table.GetRowCount(); Insert insert = CreateInsert(databaseContainer, database.databaseName, table.tableName); string[] rowData = { "aaa" }; insert.AddValue(rowData[0]); Assert.IsTrue(table.GetColumnCount() > rowData.Length); Assert.IsFalse(insert.ValidateParameters()); insert.Execute(); Assert.AreEqual(rowCount, table.GetRowCount()); }
public static Database CreateDatabaseFull(string databaseName, int iterations) { Database database = new Database(databaseName); Table table = new Table("Table1"); table.AddColumn(new Column("Column1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey))); table.AddColumn(new Column("Column2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey))); table.AddColumn(new Column("Column3", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.DoubleTypeKey))); table.AddColumn(new Column("Column4", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey))); Row row; for (int i = 0; i < iterations; i++) { row = table.CreateRowDefinition(); row.GetCell("Column1").data = VariousFunctions.GenerateRandomString(8); row.GetCell("Column2").data = VariousFunctions.GenerateRandomString(8); row.GetCell("Column3").data = i + ".6"; row.GetCell("Column4").data = i + ""; table.AddRow(row); } database.AddTable(table); return(database); }
public void Select_SelectAColumnExplicitelyGoodArguments_ShouldFindResults() { IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("aa"); ITable table = new Table("table1"); string columnName = "c1"; Column column = new Column(columnName, DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table.AddColumn(column); Row row = table.CreateRowDefinition(); row.GetCell(columnName).data = "aaaa"; table.AddRow(row); database.AddTable(table); databaseContainer.AddDatabase(database); Select select = CreateSelect(databaseContainer, database.databaseName, table.tableName, true); select.whereClause.AddCritery(columnName, row.GetCell(columnName).data, Operator.equal); Assert.IsTrue(select.ValidateParameters()); select.Execute(); Assert.IsTrue(select.GetAfectedRowCount() > 0); Console.WriteLine(select.GetResult()); }
public void Update_BadArguments_TheDataTypesDontMatch_NoticeInValidateParameters() { IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("TestUpdate2"); ITable table = new Table("table1"); Column column1 = new Column("c1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); Column column2 = new Column("c2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.IntTypeKey)); table.AddColumn(column1); table.AddColumn(column2); database.AddTable(table); databaseContainer.AddDatabase(database); string[] rowData = new string[] { "aaa", "aaa" }; Assert.IsFalse(column1.dataType.IsAValidDataType(rowData[0]) && column2.dataType.IsAValidDataType(rowData[1])); int rowCount = table.GetRowCount(); Update update = CreateUpdate(databaseContainer, database.databaseName, table.tableName); update.AddValue(column1.columnName, rowData[0]); update.AddValue(column2.columnName, rowData[1]); Assert.IsFalse(update.ValidateParameters()); update.Execute(); Assert.AreEqual(rowCount, table.GetRowCount()); }
public void Insert_BadArguments_PKViolated_NoticeInValidate() { //Construct IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("database"); ITable table = new Table("table"); Column column = new Column("c1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table.AddColumn(column); table.primaryKey.AddKey(column); database.AddTable(table); databaseContainer.AddDatabase(database); Row row = table.CreateRowDefinition(); row.GetCell(column.columnName).data = "aaaa"; table.AddRow(row); Insert insert = CreateInsert(databaseContainer, database.databaseName, table.tableName); insert.AddValue(row.GetCell(column.columnName).data); //Test Assert.IsFalse(insert.ValidateParameters()); insert.Execute(); }
public void InsertInTableWithFK_GoodArgument_TheQueryInsertTheNewsRows() { //like the other fk test, but now not violating the FK IDatabaseContainer databaseContainer = ObjectConstructor.CreateDatabaseContainer(); Database database = new Database("database"); ITable table1 = new Table("table1"); Column columnt1 = new Column("c1t1", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table1.AddColumn(columnt1); table1.primaryKey.AddKey(columnt1); database.AddTable(table1); ITable table2 = new Table("table2"); Column column1t2 = new Column("c1t2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); Column column2t2 = new Column("c2t2", DataTypesFactory.GetDataTypesFactory().GetDataType(TypesKeyConstants.StringTypeKey)); table2.AddColumn(column1t2); table2.AddColumn(column2t2); table2.primaryKey.AddKey(column1t2); table2.foreignKey.AddForeignKey(column2t2, columnt1); database.AddTable(table2); databaseContainer.AddDatabase(database); //Add some data Row row = table1.CreateRowDefinition(); row.GetCell(columnt1.columnName).data = "aa"; table1.AddRow(row); //Test Insert insert = CreateInsert(databaseContainer, database.databaseName, table2.tableName); insert.AddValue(row.GetCell(columnt1.columnName).data); //it is not the fk column insert.AddValue(row.GetCell(columnt1.columnName).data); //it is the fk column int numberOfColumn = table2.GetRowCount(); Assert.IsTrue(insert.ValidateParameters()); insert.Execute(); Assert.AreEqual(numberOfColumn + 1, table2.GetRowCount()); }