<?php 
 
class Orm_DataMapper_Mapping_Object    { 
    public $item; 
    function setItem($item){} 
    function set(){} 
    function get(){} 
} 
Mock::Generate('Orm_DataMapper_Mapping_Object', 'Orm_DataMapper_Mapping_MockObject'); 
 
class Orm_DataMapper_Mapping_Test extends UnitTestCase    { 
 
    public function setUp()    { 
        $this->object = new Orm_DataMapper_Mapping_MockObject(); 
        $this->setMethod = 'setDescription'; 
        $this->getMethod = 'getDescription'; 
        $this->property = 'description'; 
        $this->column = 'table.description'; 
        $this->alias = 'description'; 
        $this->table = 'items'; 
#        public function __construct ($getMethod='', $setMethod='', $property='', $column='', $table='', $key = false, $callback = array(), $param = false)    { 
        $this->mapping = new A_Orm_DataMapper_Mapping( 
            $this->getMethod, 
            $this->setMethod, 
            $this->property, 
            array ($this->alias => $this->column), 
            $this->table, 
            true 
        ); 
    } 
 
    public function testGetSetMethod()    { 
        $this->assertEqual ($this->mapping->getSetMethod(), $this->setMethod); 
    } 
 
    public function testSetSetMethod()    { 
        $this->mapping->setSetMethod('setTitle'); 
        $this->assertEqual ($this->mapping->getSetMethod(), 'setTitle'); 
    } 
 
    public function testGetGetMethod()    { 
        $this->assertEqual ($this->mapping->getGetMethod(), $this->getMethod); 
    } 
 
    public function testSetGetMethod()    { 
        $this->mapping->setGetMethod('getTitle'); 
        $this->assertEqual ($this->mapping->getGetMethod(), 'getTitle'); 
    } 
 
    public function testGetProperty()    { 
        $this->assertEqual ($this->mapping->getProperty(), $this->property); 
    } 
 
    public function testSetProperty()    { 
        $this->mapping->setProperty('title'); 
        $this->assertEqual ($this->mapping->getProperty(), 'title'); 
    } 
 
    public function testGetColumn()    { 
        $this->assertEqual ($this->mapping->getColumn(), $this->column); 
    } 
 
    public function testSetColumn()    { 
        $this->mapping->setColumn('title'); 
        $this->assertEqual ($this->mapping->getColumn(), 'title'); 
    } 
 
    public function testGetAlias()    { 
        $this->assertEqual ($this->mapping->getAlias(), $this->alias); 
    } 
 
    public function testGetTable()    { 
        $this->assertEqual ($this->mapping->getTable(), $this->table); 
    } 
 
    public function testIsKey()    { 
        $this->assertEqual ($this->mapping->isKey(), true); 
    } 
 
    public function testToColumn()    { 
        $this->mapping->toColumn(array ('pageTitle' => 'title'), 'page', true); 
        $this->assertEqual ($this->mapping->getAlias(), 'pageTitle'); 
        $this->assertEqual ($this->mapping->getColumn(), 'title'); 
        $this->assertEqual ($this->mapping->getTable(), 'page'); 
        $this->assertEqual ($this->mapping->isKey(), true); 
    } 
 
    public function testMapToSetMethod()    { 
        $mapping = new A_Orm_DataMapper_Mapping(); 
        $mapping->setSetMethod('setItem'); 
        $mapping->toColumn('item'); 
        $this->object->expectOnce('setItem', array('Car')); 
        $mapping->loadObject($this->object, array('item' => 'Car')); 
    } 
 
    public function testMapToProperty()    { 
        $mapping = new A_Orm_DataMapper_Mapping(); 
        $mapping->setProperty('item'); 
        $mapping->toColumn('item'); 
        $mapping->loadObject($this->object, array('item' => 'Car')); 
        $this->assertEqual ($this->object->item, 'Car'); 
    } 
 
    public function testMapToGenericMethods()    { 
        $mapping = new A_Orm_DataMapper_Mapping(); 
        $mapping->setSetMethod('set'); 
        $mapping->setGetMethod('get'); 
        $mapping->setProperty('item'); 
        $mapping->toColumn('item'); 
        $this->object->expectOnce('set', array('item', 'Car')); 
        $mapping->loadObject($this->object, array('item' => 'Car')); 
    } 
 
}
 
 |