/tests/Fixtures/misc/FieldnameRelatedTest.php
https://github.com/apinstein/Propel2 · PHP · 394 lines · 309 code · 29 blank · 56 comment · 0 complexity · b90f40d68562dce38fbeb3da6fcec1f8 MD5 · raw file
- <?php
- /**
- * This file is part of the Propel package.
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @license MIT License
- */
- /**
- * Tests some of the methods of generated Object classes. These are:
- *
- * - Base[Object]Peer::getFieldNames()
- * - Base[Object]Peer::translateFieldName()
- * - BasePeer::getFieldNames()
- * - BasePeer::translateFieldName()
- * - Base[Object]::getByName()
- * - Base[Object]::setByName()
- * - Base[Object]::fromArray()
- * - Base[Object]::toArray()
- *
- * I've pulled these tests from the GeneratedObjectTest because the don't
- * need the BookstoreTestBase's setUp and tearDown (database de/population)
- * behaviour. The tests will run faster this way.
- *
- * @author Sven Fuchs <svenfuchs@artweb-design.de>
- * @package misc
- */
- class FieldnameRelatedTest extends \PHPUnit_Framework_TestCase
- {
- protected function setUp()
- {
- parent::setUp();
- set_include_path(get_include_path() . PATH_SEPARATOR . "fixtures/bookstore/build/classes");
- require_once 'bookstore/map/BookTableMap.php';
- require_once 'bookstore/BookPeer.php';
- require_once 'bookstore/Book.php';
- }
- /**
- * Tests if fieldname type constants are defined
- */
- public function testFieldNameTypeConstants () {
- $result = defined('BasePeer::TYPE_PHPNAME');
- $this->assertTrue($result);
- }
- /**
- * Tests the Base[Object]Peer::getFieldNames() method
- */
- public function testGetFieldNames ()
- {
- $types = array(
- BasePeer::TYPE_PHPNAME,
- BasePeer::TYPE_COLNAME,
- BasePeer::TYPE_FIELDNAME,
- BasePeer::TYPE_NUM
- );
- $expecteds = array (
- BasePeer::TYPE_PHPNAME => array(
- 0 => 'Id',
- 1 => 'Title',
- 2 => 'ISBN',
- 3 => 'Price',
- 4 => 'PublisherId',
- 5 => 'AuthorId'
- ),
- BasePeer::TYPE_STUDLYPHPNAME => array(
- 0 => 'id',
- 1 => 'title',
- 2 => 'iSBN',
- 3 => 'price',
- 4 => 'publisherId',
- 5 => 'authorId'
- ),
- BasePeer::TYPE_COLNAME => array(
- 0 => 'book.ID',
- 1 => 'book.TITLE',
- 2 => 'book.ISBN',
- 3 => 'book.PRICE',
- 4 => 'book.PUBLISHER_ID',
- 5 => 'book.AUTHOR_ID'
- ),
- BasePeer::TYPE_FIELDNAME => array(
- 0 => 'id',
- 1 => 'title',
- 2 => 'isbn',
- 3 => 'price',
- 4 => 'publisher_id',
- 5 => 'author_id'
- ),
- BasePeer::TYPE_NUM => array(
- 0 => 0,
- 1 => 1,
- 2 => 2,
- 3 => 3,
- 4 => 4,
- 5 => 5
- )
- );
- foreach ($types as $type) {
- $results[$type] = BookPeer::getFieldnames($type);
- $this->assertEquals(
- $expecteds[$type],
- $results[$type],
- 'expected was: ' . print_r($expecteds[$type], 1) .
- 'but getFieldnames() returned ' . print_r($results[$type], 1)
- );
- }
- }
- /**
- * Tests the Base[Object]Peer::translateFieldName() method
- */
- public function testTranslateFieldName () {
- $types = array(
- BasePeer::TYPE_PHPNAME,
- BasePeer::TYPE_STUDLYPHPNAME,
- BasePeer::TYPE_COLNAME,
- BasePeer::TYPE_FIELDNAME,
- BasePeer::TYPE_NUM
- );
- $expecteds = array (
- BasePeer::TYPE_PHPNAME => 'AuthorId',
- BasePeer::TYPE_STUDLYPHPNAME => 'authorId',
- BasePeer::TYPE_COLNAME => 'book.AUTHOR_ID',
- BasePeer::TYPE_FIELDNAME => 'author_id',
- BasePeer::TYPE_NUM => 5,
- );
- foreach ($types as $fromType) {
- foreach ($types as $toType) {
- $name = $expecteds[$fromType];
- $expected = $expecteds[$toType];
- $result = BookPeer::translateFieldName($name, $fromType, $toType);
- $this->assertEquals($expected, $result);
- }
- }
- }
- /**
- * Tests the BasePeer::getFieldNames() method
- */
- public function testGetFieldNamesStatic () {
- $types = array(
- BasePeer::TYPE_PHPNAME,
- BasePeer::TYPE_STUDLYPHPNAME,
- BasePeer::TYPE_COLNAME,
- BasePeer::TYPE_FIELDNAME,
- BasePeer::TYPE_NUM
- );
- $expecteds = array (
- BasePeer::TYPE_PHPNAME => array(
- 0 => 'Id',
- 1 => 'Title',
- 2 => 'ISBN',
- 3 => 'Price',
- 4 => 'PublisherId',
- 5 => 'AuthorId'
- ),
- BasePeer::TYPE_STUDLYPHPNAME => array(
- 0 => 'id',
- 1 => 'title',
- 2 => 'iSBN',
- 3 => 'price',
- 4 => 'publisherId',
- 5 => 'authorId'
- ),
- BasePeer::TYPE_COLNAME => array(
- 0 => 'book.ID',
- 1 => 'book.TITLE',
- 2 => 'book.ISBN',
- 3 => 'book.PRICE',
- 4 => 'book.PUBLISHER_ID',
- 5 => 'book.AUTHOR_ID'
- ),
- BasePeer::TYPE_FIELDNAME => array(
- 0 => 'id',
- 1 => 'title',
- 2 => 'isbn',
- 3 => 'price',
- 4 => 'publisher_id',
- 5 => 'author_id'
- ),
- BasePeer::TYPE_NUM => array(
- 0 => 0,
- 1 => 1,
- 2 => 2,
- 3 => 3,
- 4 => 4,
- 5 => 5
- )
- );
- foreach ($types as $type) {
- $results[$type] = BasePeer::getFieldnames('Book', $type);
- $this->assertEquals(
- $expecteds[$type],
- $results[$type],
- 'expected was: ' . print_r($expecteds[$type], 1) .
- 'but getFieldnames() returned ' . print_r($results[$type], 1)
- );
- }
- }
- /**
- * Tests the BasePeer::translateFieldName() method
- */
- public function testTranslateFieldNameStatic () {
- $types = array(
- BasePeer::TYPE_PHPNAME,
- BasePeer::TYPE_STUDLYPHPNAME,
- BasePeer::TYPE_COLNAME,
- BasePeer::TYPE_FIELDNAME,
- BasePeer::TYPE_NUM
- );
- $expecteds = array (
- BasePeer::TYPE_PHPNAME => 'AuthorId',
- BasePeer::TYPE_STUDLYPHPNAME => 'authorId',
- BasePeer::TYPE_COLNAME => 'book.AUTHOR_ID',
- BasePeer::TYPE_FIELDNAME => 'author_id',
- BasePeer::TYPE_NUM => 5,
- );
- foreach ($types as $fromType) {
- foreach ($types as $toType) {
- $name = $expecteds[$fromType];
- $expected = $expecteds[$toType];
- $result = BasePeer::translateFieldName('Book', $name, $fromType, $toType);
- $this->assertEquals($expected, $result);
- }
- }
- }
- /**
- * Tests the Base[Object]::getByName() method
- */
- public function testGetByName() {
- $types = array(
- BasePeer::TYPE_PHPNAME => 'Title',
- BasePeer::TYPE_STUDLYPHPNAME => 'title',
- BasePeer::TYPE_COLNAME => 'book.TITLE',
- BasePeer::TYPE_FIELDNAME => 'title',
- BasePeer::TYPE_NUM => 1
- );
- $book = new Book();
- $book->setTitle('Harry Potter and the Order of the Phoenix');
- $expected = 'Harry Potter and the Order of the Phoenix';
- foreach ($types as $type => $name) {
- $result = $book->getByName($name, $type);
- $this->assertEquals($expected, $result);
- }
- }
- /**
- * Tests the Base[Object]::setByName() method
- */
- public function testSetByName() {
- $book = new Book();
- $types = array(
- BasePeer::TYPE_PHPNAME => 'Title',
- BasePeer::TYPE_STUDLYPHPNAME => 'title',
- BasePeer::TYPE_COLNAME => 'book.TITLE',
- BasePeer::TYPE_FIELDNAME => 'title',
- BasePeer::TYPE_NUM => 1
- );
- $title = 'Harry Potter and the Order of the Phoenix';
- foreach ($types as $type => $name) {
- $book->setByName($name, $title, $type);
- $result = $book->getTitle();
- $this->assertEquals($title, $result);
- }
- }
- /**
- * Tests the Base[Object]::fromArray() method
- *
- * this also tests populateFromArray() because that's an alias
- */
- public function testFromArray(){
- $types = array(
- BasePeer::TYPE_PHPNAME,
- BasePeer::TYPE_STUDLYPHPNAME,
- BasePeer::TYPE_COLNAME,
- BasePeer::TYPE_FIELDNAME,
- BasePeer::TYPE_NUM
- );
- $expecteds = array (
- BasePeer::TYPE_PHPNAME => array (
- 'Title' => 'Harry Potter and the Order of the Phoenix',
- 'ISBN' => '043935806X'
- ),
- BasePeer::TYPE_STUDLYPHPNAME => array (
- 'title' => 'Harry Potter and the Order of the Phoenix',
- 'iSBN' => '043935806X'
- ),
- BasePeer::TYPE_COLNAME => array (
- 'book.TITLE' => 'Harry Potter and the Order of the Phoenix',
- 'book.ISBN' => '043935806X'
- ),
- BasePeer::TYPE_FIELDNAME => array (
- 'title' => 'Harry Potter and the Order of the Phoenix',
- 'isbn' => '043935806X'
- ),
- BasePeer::TYPE_NUM => array (
- '1' => 'Harry Potter and the Order of the Phoenix',
- '2' => '043935806X'
- )
- );
- $book = new Book();
- foreach ($types as $type) {
- $expected = $expecteds[$type];
- $book->fromArray($expected, $type);
- $result = array();
- foreach (array_keys($expected) as $key) {
- $result[$key] = $book->getByName($key, $type);
- }
- $this->assertEquals(
- $expected,
- $result,
- 'expected was: ' . print_r($expected, 1) .
- 'but fromArray() returned ' . print_r($result, 1)
- );
- }
- }
- /**
- * Tests the Base[Object]::toArray() method
- */
- public function testToArray(){
- $types = array(
- BasePeer::TYPE_PHPNAME,
- BasePeer::TYPE_STUDLYPHPNAME,
- BasePeer::TYPE_COLNAME,
- BasePeer::TYPE_FIELDNAME,
- BasePeer::TYPE_NUM
- );
- $book = new Book();
- $book->fromArray(array (
- 'Title' => 'Harry Potter and the Order of the Phoenix',
- 'ISBN' => '043935806X'
- ));
- $expecteds = array (
- BasePeer::TYPE_PHPNAME => array (
- 'Title' => 'Harry Potter and the Order of the Phoenix',
- 'ISBN' => '043935806X'
- ),
- BasePeer::TYPE_STUDLYPHPNAME => array (
- 'title' => 'Harry Potter and the Order of the Phoenix',
- 'iSBN' => '043935806X'
- ),
- BasePeer::TYPE_COLNAME => array (
- 'book.TITLE' => 'Harry Potter and the Order of the Phoenix',
- 'book.ISBN' => '043935806X'
- ),
- BasePeer::TYPE_FIELDNAME => array (
- 'title' => 'Harry Potter and the Order of the Phoenix',
- 'isbn' => '043935806X'
- ),
- BasePeer::TYPE_NUM => array (
- '1' => 'Harry Potter and the Order of the Phoenix',
- '2' => '043935806X'
- )
- );
- foreach ($types as $type) {
- $expected = $expecteds[$type];
- $result = $book->toArray($type);
- // remove ID since its autoincremented at each test iteration
- $result = array_slice($result, 1, 2, true);
- $this->assertEquals(
- $expected,
- $result,
- 'expected was: ' . print_r($expected, 1) .
- 'but toArray() returned ' . print_r($result, 1)
- );
- }
- }
- }