/** * Returns the value for the given column on the given row. * * @param int $row * @param int $column */ public function getValue($row, $column) { if (in_array($column, $this->getTableMetaData()->getColumns())) { return $this->originalTable->getValue($row, $column); } else { throw new InvalidArgumentException("The given row ({$row}) and column ({$column}) do not exist in table {$this->getTableMetaData()->getTableName()}"); } }
public function buildOperationArguments(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, $row) { $args = array(); foreach ($table->getTableMetaData()->getColumns() as $columnName) { $args[] = $table->getValue($row, $columnName); } foreach ($databaseTableMetaData->getPrimaryKeys() as $columnName) { $args[] = $table->getValue($row, $columnName); } return $args; }
public function __toString() { $columns = $this->getTableMetaData()->getColumns(); $lineSeperator = str_repeat('+----------------------', count($columns)) . "+\n"; $lineLength = strlen($lineSeperator) - 1; $tableString = $lineSeperator; $tableString .= '| ' . str_pad($this->getTableMetaData()->getTableName(), $lineLength - 4, ' ', STR_PAD_RIGHT) . " |\n"; $tableString .= $lineSeperator; $tableString .= $this->rowToString($columns); $tableString .= $lineSeperator; $rowCount = $this->getRowCount(); for ($i = 0; $i < $rowCount; $i++) { $values = array(); foreach ($columns as $columnName) { if ($this->other) { try { if ($this->getValue($i, $columnName) != $this->other->getValue($i, $columnName)) { $values[] = sprintf('%s != actual %s', var_export($this->getValue($i, $columnName), TRUE), var_export($this->other->getValue($i, $columnName), TRUE)); } else { $values[] = $this->getValue($i, $columnName); } } catch (\InvalidArgumentException $ex) { $values[] = $this->getValue($i, $columnName) . ': no row'; } } else { $values[] = $this->getValue($i, $columnName); } } $tableString .= $this->rowToString($values) . $lineSeperator; } return ($this->other ? '(table diff enabled)' : '') . "\n" . $tableString . "\n"; }
/** * * @param PHPUnit_Extensions_Database_DataSet_ITable $table * @param int $rowNum * @return array */ protected function buildInsertValues(\PHPUnit_Extensions_Database_DataSet_ITable $table, $rowNum) { $values = array(); foreach ($table->getTableMetaData()->getColumns() as $columnName) { $values[$columnName] = $table->getValue($rowNum, $columnName); } return $values; }
protected function buildOperationArguments(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, $row) { $args = array(); foreach ($table->getTableMetaData()->getColumns() as $key => $columnName) { $args['param' . $key . 'x'] = $table->getValue($row, $columnName); } return $args; }
/** * * @param \PHPUnit_Extensions_Database_DataSet_ITable $table * @param int $rowNum * @return array */ protected function buildInsertValues(\PHPUnit_Extensions_Database_DataSet_ITable $table, $rowNum) { $values = array(); foreach ($table->getTableMetaData()->getColumns() as $columnName) { try { $values[$columnName] = $table->getValue($rowNum, $columnName); } catch (FixtureValueNotExistsException $doNothing) { } } return $values; }
/** * Adds the rows in the passed table to the current table. * * @param PHPUnit_Extensions_Database_DataSet_ITable $table */ public function addTableRows(PHPUnit_Extensions_Database_DataSet_ITable $table) { $tableColumns = $this->getTableMetaData()->getColumns(); $rowCount = $table->getRowCount(); for ($i = 0; $i < $rowCount; $i++) { $newRow = array(); foreach ($tableColumns as $columnName) { $newRow[$columnName] = $table->getValue($i, $columnName); } $this->addRow($newRow); } }
/** * Asserts that the given table matches this table. * * @param PHPUnit_Extensions_Database_DataSet_ITable $other */ public function matches(PHPUnit_Extensions_Database_DataSet_ITable $other) { $thisMetaData = $this->getTableMetaData(); $otherMetaData = $other->getTableMetaData(); if (!$thisMetaData->matches($otherMetaData) || $this->getRowCount() != $other->getRowCount()) { return FALSE; } $columns = $thisMetaData->getColumns(); $rowCount = $this->getRowCount(); for ($i = 0; $i < $rowCount; $i++) { foreach ($columns as $columnName) { if ($this->getValue($i, $columnName) != $other->getValue($i, $columnName)) { return FALSE; } } } return TRUE; }
/** * Asserts that the given table matches this table. * * @param PHPUnit_Extensions_Database_DataSet_ITable $other */ public function assertEquals(PHPUnit_Extensions_Database_DataSet_ITable $other) { $thisMetaData = $this->getTableMetaData(); $otherMetaData = $other->getTableMetaData(); $thisMetaData->assertEquals($otherMetaData); if ($this->getRowCount() != $other->getRowCount()) { throw new Exception("Expected row count of {$this->getRowCount()}, has a row count of {$other->getRowCount()}"); } $columns = $thisMetaData->getColumns(); for ($i = 0; $i < $this->getRowCount(); $i++) { foreach ($columns as $columnName) { if ($this->getValue($i, $columnName) != $other->getValue($i, $columnName)) { throw new Exception("Expected value of {$this->getValue($i, $columnName)} for row {$i} column {$columnName}, has a value of {$other->getValue($i, $columnName)}"); } } } return TRUE; }