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 void GrantDatabasePrivilege_AllParametersAreGood_GrantDatabasePrivilege()
        {
            IDatabaseContainer     databaseContainer      = ObjectConstructor.CreateDatabaseContainer();
            GrantDatabasePrivilege grantDatabasePrivilege = CreateGrantDatabasePrivilege(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName);

            grantDatabasePrivilege.SetData(SystemeConstants.CreatePrivilegeName, SystemeConstants.DefaultProfile, SystemeConstants.DefaultDatabaseName);
            Assert.IsTrue(grantDatabasePrivilege.ValidateParameters());
            grantDatabasePrivilege.Execute();
            Select select = TestSelect.CreateSelect(databaseContainer, SystemeConstants.SystemDatabaseName, SystemeConstants.PrivilegesOfProfilesOnDatabasesTableName, true);

            select.whereClause.AddCritery(SystemeConstants.PrivilegesOfProfilesOnDatabasesProfileColumnName, SystemeConstants.DefaultProfile, Operator.equal);
            select.whereClause.AddCritery(SystemeConstants.PrivilegesOfProfilesOnDatabasesDatabaseNameColumnName, SystemeConstants.DefaultDatabaseName, Operator.equal);
            select.whereClause.AddCritery(SystemeConstants.PrivilegesOfProfilesOnDatabasesPrivilegeColumnName, SystemeConstants.CreatePrivilegeName, Operator.equal);
            select.ValidateParameters();
            select.Execute();
            Assert.AreEqual(1, select.GetAfectedRowCount());
        }