本文整理汇总了PHP中PHPUnit_Extensions_Database_DataSet_IDataSet类的典型用法代码示例。如果您正苦于以下问题:PHP PHPUnit_Extensions_Database_DataSet_IDataSet类的具体用法?PHP PHPUnit_Extensions_Database_DataSet_IDataSet怎么用?PHP PHPUnit_Extensions_Database_DataSet_IDataSet使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PHPUnit_Extensions_Database_DataSet_IDataSet类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
if(!($connection instanceof Zend_Test_PHPUnit_Db_Connection)) {
// require_once "Zend/Test/PHPUnit/Db/Exception.php";
throw new Zend_Test_PHPUnit_Db_Exception("Not a valid Zend_Test_PHPUnit_Db_Connection instance, ".get_class($connection)." given!");
}
$databaseDataSet = $connection->createDataSet();
$dsIterator = $dataSet->getIterator();
foreach($dsIterator as $table) {
$tableName = $table->getTableMetaData()->getTableName();
$db = $connection->getConnection();
for($i = 0; $i < $table->getRowCount(); $i++) {
$values = $this->buildInsertValues($table, $i);
try {
$db->insert($tableName, $values);
} catch (Exception $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception("INSERT", "INSERT INTO ".$tableName." [..]", $values, $table, $e->getMessage());
}
}
}
}
示例2: execute
/**
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
$databaseDataSet = $connection->createDataSet();
$dsIterator = $this->iteratorDirection == self::ITERATOR_TYPE_REVERSE ? $dataSet->getReverseIterator() : $dataSet->getIterator();
foreach ($dsIterator as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName());
$query = $this->buildOperationQuery($databaseTableMetaData, $table, $connection);
if ($query === FALSE && $table->getRowCount() > 0) {
throw new PHPUnit_Extensions_Database_Operation_Exception($this->operationName, '', array(), $table, "Rows requested for insert, but no columns provided!");
}
$statement = $connection->getConnection()->prepare($query);
$rowCount = $table->getRowCount();
for ($i = 0; $i < $rowCount; $i++) {
$args = $this->buildOperationArguments($databaseTableMetaData, $table, $i);
try {
$statement->execute($args);
}
catch (Exception $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception(
$this->operationName, $query, $args, $table, $e->getMessage()
);
}
}
}
}
示例3: addDataSet
/**
* Adds a new data set to the composite.
*
* The dataset may not define tables that already exist in the composite.
*
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function addDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
foreach ($dataSet->getTableNames() as $tableName) {
if (in_array($tableName, $this->getTableNames())) {
throw new InvalidArgumentException("DataSet contains a table that already exists: {$tableName}");
}
}
$this->dataSets[] = $dataSet;
}
示例4: execute
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
foreach ($dataSet->getTableNames() as $tableName) {
$connection->getConnection()->query("Alter Table {$tableName} NOCHECK Constraint All");
}
parent::execute($connection, $dataSet);
foreach ($dataSet->getTableNames() as $tableName) {
$connection->getConnection()->query("Alter Table {$tableName} CHECK Constraint All");
}
}
示例5: execute
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
foreach ($dataSet->getReverseIterator() as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$query = "\n DELETE FROM {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n ";
try {
$connection->getConnection()->query($query);
} catch (PDOException $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception('DELETE_ALL', $query, array(), $table, $e->getMessage());
}
}
}
示例6: execute
/**
*
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
* @return void
*/
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
if (!$connection instanceof \Zend\Test\PHPUnit\Db\Connection) {
throw new \Zend\Test\PHPUnit\Db\Exception\InvalidArgumentException("Not a valid Zend_Test_PHPUnit_Db_Connection instance, " . get_class($connection) . " given!");
}
foreach ($dataSet->getReverseIterator() as $table) {
try {
$tableName = $table->getTableMetaData()->getTableName();
$this->_truncate($connection->getConnection(), $tableName);
} catch (\Exception $e) {
throw new \PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', 'TRUNCATE ' . $tableName . '', array(), $table, $e->getMessage());
}
}
}
示例7: execute
/**
*
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
* @return void
*/
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
if (!$connection instanceof Zend_Test_PHPUnit_Db_Connection) {
require_once "Zend/Test/PHPUnit/Db/Exception.php";
throw new Zend_Test_PHPUnit_Db_Exception("Not a valid Zend_Test_PHPUnit_Db_Connection instance, " . get_class($connection) . " given!");
}
foreach ($dataSet->getReverseIterator() as $table) {
try {
$tableName = $table->getTableMetaData()->getTableName();
$this->_truncate($connection->getConnection(), $tableName);
} catch (Exception $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', 'TRUNCATE ' . $tableName . '', array(), $table, $e->getMessage());
}
}
}
示例8: execute
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
/* @var $connection DoctrineExtensions\PHPUnit\TestConnection */
$conn = $connection->getConnection();
foreach ($dataSet->getReverseIterator() as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$tableName = $connection->quoteSchemaObject($table->getTableMetaData()->getTableName());
$query = $conn->getDatabasePlatform()->getTruncateTableSql($tableName, $this->useCascade);
try {
$connection->getConnection()->executeUpdate($query);
} catch (\Exception $e) {
throw new \PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage());
}
}
}
示例9: addDataSet
/**
* Adds a new data set to the composite.
*
* The dataset may not define tables that already exist in the composite.
*
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function addDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
foreach ($dataSet->getTableNames() as $tableName) {
if (!in_array($tableName, $this->getTableNames())) {
$this->motherDataset->addTable($dataSet->getTable($tableName));
} else {
$other = $dataSet->getTable($tableName);
$table = $this->getTable($tableName);
if (!$table->getTableMetaData()->matches($other->getTableMetaData())) {
throw new InvalidArgumentException("There is already a table named {$tableName} with different table definition");
}
$table->addTableRows($dataSet->getTable($tableName));
}
}
}
示例10: execute
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
foreach ($dataSet->getReverseIterator() as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$query = "\n {$connection->getTruncateCommand()} {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n ";
if ($this->useCascade && $connection->allowsCascading()) {
$query .= " CASCADE";
}
try {
$connection->getConnection()->query($query);
} catch (PDOException $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage());
}
}
}
示例11: execute
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
foreach ($dataSet->getTableNames() as $tableName) {
$connection->getConnection()->query("Alter Table {$tableName} NOCHECK Constraint All");
}
foreach ($dataSet->getTableNames() as $tableName) {
$connection->getConnection()->query("Delete From {$tableName}");
}
foreach ($dataSet->getTableNames() as $tableName) {
$connection->getConnection()->query("DBCC CHECKIDENT ({$tableName}, RESEED, 0)");
}
foreach ($dataSet->getTableNames() as $tableName) {
$connection->getConnection()->query("Alter Table {$tableName} CHECK Constraint All");
}
}
示例12: execute
/**
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
if (!$connection instanceof \Zend\Test\PHPUnit\Db\Connection) {
throw new \Zend\Test\PHPUnit\Db\Exception\InvalidArgumentException("Not a valid Zend_Test_PHPUnit_Db_Connection instance, " . get_class($connection) . " given!");
}
$databaseDataSet = $connection->createDataSet();
$dsIterator = $dataSet->getIterator();
foreach ($dsIterator as $table) {
$tableName = $table->getTableMetaData()->getTableName();
$db = $connection->getConnection();
for ($i = 0; $i < $table->getRowCount(); $i++) {
$values = $this->buildInsertValues($table, $i);
try {
$db->insert($tableName, $values);
} catch (\Exception $e) {
throw new \PHPUnit_Extensions_Database_Operation_Exception("INSERT", "INSERT INTO " . $tableName . " [..]", $values, $table, $e->getMessage());
}
}
}
}
示例13: execute
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
foreach ($dataSet->getReverseIterator() as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$query = "\n {$connection->getTruncateCommand()} {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n ";
if ($this->useCascade && $connection->allowsCascading()) {
$query .= ' CASCADE';
}
try {
$this->disableForeignKeyChecksForMysql($connection);
$connection->getConnection()->query($query);
$this->enableForeignKeyChecksForMysql($connection);
} catch (\Exception $e) {
$this->enableForeignKeyChecksForMysql($connection);
if ($e instanceof PDOException) {
throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, [], $table, $e->getMessage());
}
throw $e;
}
}
}
示例14: execute
/**
* Disable foreign key constraint checking prior to running the stock PHPUnit
* truncate operation and then re-enable it.
*
* @param \PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
* @return void
*/
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
if (defined('WPINC')) {
$connection->getConnection()->query("SET foreign_key_checks = 0");
}
foreach ($dataSet->getReverseIterator() as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$query = "\n {$connection->getTruncateCommand()}\n {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n ";
if (defined('WPINC')) {
$query .= "";
} else {
$query .= " RESTART IDENTITY CASCADE";
}
try {
$connection->getConnection()->query($query);
} catch (PDOException $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage());
}
}
if (defined('WPINC')) {
$connection->getConnection()->query("SET foreign_key_checks = 1");
}
}
示例15: matches
/**
* Asserts that the given data set matches this data set.
*
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $other
*/
public function matches(PHPUnit_Extensions_Database_DataSet_IDataSet $other)
{
$thisTableNames = $this->getTableNames();
$otherTableNames = $other->getTableNames();
sort($thisTableNames);
sort($otherTableNames);
if ($thisTableNames != $otherTableNames) {
return FALSE;
}
foreach ($thisTableNames as $tableName) {
$table = $this->getTable($tableName);
if (!$table->matches($other->getTable($tableName))) {
return FALSE;
}
}
return TRUE;
}