Example #1
0
 /**
  *
  * @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;
 }
Example #2
0
 protected 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);
     }
     return $args;
 }
Example #3
0
 /**
  * @param PHPUnit_Extensions_Database_DataSet_ITable $table
  */
 protected function saveTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
 {
     $rowCount = $table->getRowCount();
     $this->startTable($table);
     for ($i = 0; $i < $rowCount; $i++) {
         $this->row($table->getRow($i), $table);
     }
     $this->endTable($table);
 }
Example #4
0
 /**
  * Override to save a table row.
  *
  * @param array                                      $row
  * @param PHPUnit_Extensions_Database_DataSet_ITable $table
  */
 protected function row(array $row, PHPUnit_Extensions_Database_DataSet_ITable $table)
 {
     fwrite($this->fh, "\t<{$table->getTableMetaData()->getTableName()}\n");
     foreach ($table->getTableMetaData()->getColumns() as $columnName) {
         if (isset($row[$columnName])) {
             fwrite($this->fh, "\t\t{$columnName}=\"" . htmlspecialchars($row[$columnName]) . "\"\n");
         }
     }
     fwrite($this->fh, "\t/>\n");
 }
Example #5
0
 /**
  *
  * @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);
     }
 }
Example #7
0
 /**
  * Determines whether or not the given table matches the table used to
  * create this constraint.
  *
  * @param PHPUnit_Extensions_Database_DataSet_ITable $other
  * @return bool
  */
 public function evaluate($other)
 {
     if ($other instanceof PHPUnit_Extensions_Database_DataSet_ITable) {
         try {
             $this->value->assertEquals($other);
             return TRUE;
         } catch (Exception $e) {
             $this->failure_reason = $e->getMessage();
             return FALSE;
         }
     } else {
         throw new InvalidArgumentException("PHPUnit_Extensions_Database_DataSet_ITable expected");
     }
 }
Example #8
0
 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";
 }
Example #9
0
 /**
  * Evaluates the constraint for parameter $other. Returns TRUE if the
  * constraint is met, FALSE otherwise.
  *
  * This method can be overridden to implement the evaluation algorithm.
  *
  * @param mixed $other Value or object to evaluate.
  * @return bool
  */
 protected function matches($other)
 {
     if (!$other instanceof PHPUnit_Extensions_Database_DataSet_ITable) {
         throw new InvalidArgumentException('PHPUnit_Extensions_Database_DataSet_ITable expected');
     }
     return $this->value->matches($other);
 }
Example #10
0
 /**
  * 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()}");
     }
 }
Example #11
0
 /**
  * Override to save a table row.
  *
  * @param array                                      $row
  * @param PHPUnit_Extensions_Database_DataSet_ITable $table
  */
 protected function row(array $row, PHPUnit_Extensions_Database_DataSet_ITable $table)
 {
     fwrite($this->fh, "\t\t<row>\n");
     foreach ($table->getTableMetaData()->getColumns() as $columnName) {
         if (isset($row[$columnName])) {
             fwrite($this->fh, "\t\t\t<value>" . htmlspecialchars($row[$columnName]) . "</value>\n");
         } else {
             fwrite($this->fh, "\t\t\t<null />\n");
         }
     }
     fwrite($this->fh, "\t\t</row>\n");
 }
Example #12
0
 /**
  * Loads data into local data table if it's not already loaded
  */
 protected function loadData()
 {
     if ($this->data === NULL) {
         $data = array();
         for ($row = 0; $row < $this->originalTable->getRowCount(); $row++) {
             $tRow = array();
             foreach ($this->getTableMetaData()->getColumns() as $col) {
                 $tRow[$col] = $this->getValue($row, $col);
             }
             $data[$row] = $tRow;
         }
         $this->data = $data;
     }
 }
 /**
  * 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;
 }
 /**
  * Returns a string representation of the constraint.
  *
  * @return string
  */
 public function toString()
 {
     return sprintf('is equal to expected %s', $this->value->__toString());
 }
Example #15
0
 /**
  * Asserts that a given table contains a given row
  *
  * @param array $expectedRow Row expected to find
  * @param PHPUnit_Extensions_Database_DataSet_ITable $table Table to look into
  * @param string $message Optional message
  */
 public function assertTableContains(array $expectedRow, PHPUnit_Extensions_Database_DataSet_ITable $table, $message = '')
 {
     self::assertThat($table->assertContainsRow($expectedRow), self::isTrue(), $message);
 }
Example #16
0
 /**
  * Override to save a table row.
  *
  * @param array $row
  * @param PHPUnit_Extensions_Database_DataSet_ITable $table
  */
 protected function row(array $row, PHPUnit_Extensions_Database_DataSet_ITable $table)
 {
     fwrite($this->fh, "\t" . '<row>' . "\n");
     foreach ($table->getTableMetaData()->getColumns() as $columnName) {
         fwrite($this->fh, "\t\t" . '<field name="' . $columnName . '"');
         if (isset($row[$columnName])) {
             fwrite($this->fh, '>' . htmlspecialchars($row[$columnName]) . '</field>' . "\n");
         } else {
             fwrite($this->fh, ' xsi:nil="true" />' . "\n");
         }
     }
     fwrite($this->fh, "\t" . '</row>' . "\n");
 }
 /**
  * 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;
 }
Example #18
0
File: Table.php Project: seytar/psx
 public function matches(\PHPUnit_Extensions_Database_DataSet_ITable $other)
 {
     return $this->table->getName() == $other->getTable()->getTableName();
 }