diff options
Diffstat (limited to 'tests/unit/SQLMap/ResultMapTest.php')
-rw-r--r-- | tests/unit/SQLMap/ResultMapTest.php | 280 |
1 files changed, 0 insertions, 280 deletions
diff --git a/tests/unit/SQLMap/ResultMapTest.php b/tests/unit/SQLMap/ResultMapTest.php deleted file mode 100644 index 09fff11d..00000000 --- a/tests/unit/SQLMap/ResultMapTest.php +++ /dev/null @@ -1,280 +0,0 @@ -<?php - -require_once(dirname(__FILE__).'/BaseTest.php'); - -/** - * @package System.DataAccess.SQLMap - */ -class ResultMapTest extends BaseTest -{ - function __construct() - { - parent::__construct(); - $this->initSqlMap(); - new Order; - new LineItemCollection; - new Account; - } - - function resetDatabase() - { - $this->initScript('account-init.sql'); - $this->initScript('order-init.sql'); - $this->initScript('line-item-init.sql'); -// $this->initScript('enumeration-init.sql'); - } - - function testColumnsByName() - { - $order = $this->sqlmap->QueryForObject('GetOrderLiteByColumnName', 1); - $this->assertOrder1($order); - } - - function testColumnsByIndex() - { - $order = $this->sqlmap->QueryForObject("GetOrderLiteByColumnIndex", 1); - $this->assertOrder1($order); - } - - - function testExtendedResultMap() - { - $order = $this->sqlmap->queryForObject("GetOrderWithLineItemsNoLazyLoad", 1); - $this->assertOrder1($order); - $this->assertTrue($order->getLineItemsList() instanceof TList); - $this->assertEquals(2, $order->getLineItemsList()->getCount()); - } - - function testLazyLoad() - { - $order = $this->sqlmap->QueryForObject("GetOrderWithLineItems", 1); - $this->assertOrder1($order); - $this->assertNotNull($order->getLineItemsList()); - $this->assertFalse($order->getLineItemsList() instanceof TList); - $this->assertEquals(2, $order->getLineItemsList()->getCount()); - - // After a call to a method from a proxy object, - // the proxy object is replaced by the real object. - $this->assertTrue($order->getLineItemsList() instanceof TList); - $this->assertEquals(2, $order->getLineItemsList()->getCount()); - } - - function testLazyLoadWithOpenConnection() - { - $this->sqlmap->openConnection(); - - $this->testLazyLoad(); - $this->sqlmap->closeConnection(); - } - - function testLazyWithTypedCollectionMapping() - { - $order = $this->sqlmap->queryForObject("GetOrderWithLineItemCollection", 1); - $this->assertOrder1($order); - $this->assertNotNull($order->getLineItems()); - $this->assertFalse($order->getLineItemsList() instanceof LineItemCollection); - - $this->assertEquals(2, $order->getLineItems()->getCount()); - - // After a call to a method from a proxy object, - // the proxy object is replaced by the real object. - $this->assertTrue($order->getLineItems() instanceof LineItemCollection); - foreach($order->getLineItems() as $item) - { - $this->assertNotNull($item); - $this->assertTrue($item instanceof LineItem); - } - } - - function testNullValueReplacementOnString() - { - $account = $this->sqlmap->queryForObject("GetAccountViaColumnName", 5); - $this->assertEquals("no_email@provided.com", $account->getEmailAddress()); - } - - function testTypeSpecified() - { - $order = $this->sqlmap->queryForObject("GetOrderWithTypes", 1); - $this->assertOrder1($order); - } - - - function testComplexObjectMapping() - { - $order = $this->sqlmap->queryForObject("GetOrderWithAccount", 1); - $this->assertOrder1($order); - $this->assertAccount1($order->getAccount()); - } - - function testCollectionMappingAndExtends() - { - $order = $this->sqlmap->queryForObject("GetOrderWithLineItemsCollection", 1); - $this->assertOrder1($order); - - // Check strongly typed collection - $this->assertNotNull($order->getLineItems()); - $this->assertEquals(2, $order->getLineItems()->getCount()); - } - - function testListMapping() - { - $order = $this->sqlmap->queryForObject("GetOrderWithLineItems", 1); - $this->assertOrder1($order); - - // Check TList collection - $this->assertNotNull($order->getLineItemsList()); - $this->assertEquals(2, $order->getLineItemsList()->getCount()); - } - - function testArrayMapping() - { - $order = $this->sqlmap->queryForObject("GetOrderWithLineItemArray", 1); - $this->assertOrder1($order); - $this->assertNotNull($order->getLineItemsArray()); - $this->assertTrue(is_array($order->getLineItemsArray())); - $this->assertEquals(2, count($order->getLineItemsArray())); - } - - function testTypedCollectionMapping() - { - $order = $this->sqlmap->queryForObject("GetOrderWithLineItemCollectionNoLazy", 1); - $this->assertOrder1($order); - $this->assertNotNull($order->getLineItems()); - $this->assertTrue($order->getLineItems() instanceof LineItemCollection); - $this->assertEquals(2, $order->getLineItems()->getCount()); - foreach($order->getLineItems() as $item) - { - $this->assertNotNull($item); - $this->assertTrue($item instanceof LineItem); - } - } - - function testHashArrayMapping() - { - $order = $this->sqlmap->queryForObject("GetOrderAsHastable", 1); - $this->assertOrder1AsHashArray($order); - } - - function testNestedObjects() - { - $order = $this->sqlmap->queryForObject("GetOrderJoinedFavourite", 1); - - $this->assertOrder1($order); - $this->assertNotNull($order->getFavouriteLineItem()); - $this->assertEquals(2, (int)$order->getFavouriteLineItem()->getID()); - $this->assertEquals("ESM-23", $order->getFavouriteLineItem()->getCode()); - - } - function testNestedObjects2() - { - $order = $this->sqlmap->queryForObject("GetOrderJoinedFavourite2", 1); - $this->assertOrder1($order); - - $this->assertNotNull($order->getFavouriteLineItem()); - $this->assertEquals(2, (int)$order->getFavouriteLineItem()->getID()); - $this->assertEquals("ESM-23", $order->getFavouriteLineItem()->getCode()); - } - - function testImplicitResultMaps() - { - $order = $this->sqlmap->queryForObject("GetOrderJoinedFavourite3", 1); - - // *** force date to timestamp since data type can't be - // *** explicity known without mapping - $order->setDate(new TDateTime($order->getDate())); - - $this->assertOrder1($order); - - $this->assertNotNull($order->getFavouriteLineItem()); - $this->assertEquals(2, $order->getFavouriteLineItem()->getID()); - $this->assertEquals("ESM-23", $order->getFavouriteLineItem()->getCode()); - } - - function testCompositeKeyMapping() - { - $this->resetDatabase(); - - $order1 = $this->sqlmap->queryForObject("GetOrderWithFavouriteLineItem", 1); - $order2 = $this->sqlmap->queryForObject("GetOrderWithFavouriteLineItem", 2); - - $this->assertNotNull($order1); - $this->assertNotNull($order1->getFavouriteLineItem()); - $this->assertEquals(2, $order1->getFavouriteLineItem()->getID()); - - $this->assertNotNull($order2); - $this->assertNotNull($order2->getFavouriteLineItem()); - $this->assertEquals(1, $order2->getFavouriteLineItem()->getID()); - } - - function testSimpleTypeMapping() - { - $this->resetDatabase(); - - $list = $this->sqlmap->QueryForList("GetAllCreditCardNumbersFromOrders", null); - - $this->assertEquals(5, count($list)); - $this->assertEquals("555555555555", $list[0]); - } - - - function testDecimalTypeMapping() - { - $this->resetDatabase(); - - $param["LineItem_ID"] = 1; - $param["Order_ID"] = 10; - $price = $this->sqlmap->queryForObject("GetLineItemPrice", $param); - $this->assertEquals(gettype($price), 'double'); - $this->assertEquals(45.43, $price); - } - -//todo -/* - function testNullValueReplacementOnEnum() - { - $enum['Id'] = 99; - $enum['Day'] = 'Days.Thu'; - $enum['Color'] = 'Colors.Blue'; - $enum['Month'] = 'Months.All'; - - $this->sqlmap->insert("InsertEnumViaParameterMap", $enum); - - $enumClass = $this->sqlmap->queryForObject("GetEnumerationNullValue", 99); - - $this->assertEquals($enumClass['Day'], 'Days.Thu'); - $this->asserEquals($enumClass['Color'], 'Colors.Blue'); - $this->assertEquals($enumClass['Month'], 'Months.All'); - } - - - function testByteArrayMapping() - { - } - - function testNullValueReplacementOnDecimal() - { - } - - function testNullValueReplacementOnDateTime() - { - } -*/ - -//future work - -/* - //requires dynamic SQL - function testDynamiqueCompositeKeyMapping() - { - $order1 = $this->sqlmap->queryForObject("GetOrderWithDynFavouriteLineItem", 1); - - $this->assertNotNull($order1); - $this->assertNotNull($order1->getFavouriteLineItem()); - var_dump($order1); - $this->assertEquals(2, $order1->getFavouriteLineItem()->getID()); - } -*/ - -} - -?>
\ No newline at end of file |