/**
* Load date into moodle database tables from standard PHPUnit data set.
*
* Note: it is usually better to use data generators
*
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
* @return void
*/
protected function loadDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset) {
global $DB;
$structure = phpunit_util::get_tablestructure();
foreach($dataset->getTableNames() as $tablename) {
$table = $dataset->getTable($tablename);
$metadata = $dataset->getTableMetaData($tablename);
$columns = $metadata->getColumns();
$doimport = false;
if (isset($structure[$tablename]['id']) and $structure[$tablename]['id']->auto_increment) {
$doimport = in_array('id', $columns);
}
for($r=0; $r<$table->getRowCount(); $r++) {
$record = $table->getRow($r);
if ($doimport) {
$DB->import_record($tablename, $record);
} else {
$DB->insert_record($tablename, $record);
}
}
if ($doimport) {
$DB->get_manager()->reset_sequence(new xmldb_table($tablename));
}
}
}