Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
        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());
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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));
        }
Ejemplo n.º 14
0
        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));
        }
Ejemplo n.º 15
0
        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));
        }
Ejemplo n.º 16
0
        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);
        }
Ejemplo n.º 17
0
        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));
        }
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 19
0
        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());
            }
        }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
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));
        }
Ejemplo n.º 23
0
        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());
            }
        }
Ejemplo n.º 24
0
        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);
        }
Ejemplo n.º 25
0
        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());
        }
Ejemplo n.º 26
0
        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);
        }
Ejemplo n.º 27
0
        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());
        }
Ejemplo n.º 28
0
        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());
        }
Ejemplo n.º 29
0
        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();
        }
Ejemplo n.º 30
0
        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());
        }