diff options
Diffstat (limited to 'tests/unit/SQLMap/BaseTest.php')
-rw-r--r-- | tests/unit/SQLMap/BaseTest.php | 518 |
1 files changed, 259 insertions, 259 deletions
diff --git a/tests/unit/SQLMap/BaseTest.php b/tests/unit/SQLMap/BaseTest.php index 0f3ce1e2..047863ec 100644 --- a/tests/unit/SQLMap/BaseTest.php +++ b/tests/unit/SQLMap/BaseTest.php @@ -1,260 +1,260 @@ -<?php
-require_once dirname(__FILE__).'/../phpunit2.php';
-
-require_once(dirname(__FILE__).'/common.php');
-require_once(SQLMAP_DIR.'/TSqlMapClient.php');
-
-/**
- * @package System.DataAccess.SQLMap
- */
-class BaseTest extends PHPUnit2_Framework_TestCase
-{
- protected $sqlmap;
- protected $connection;
- private $mapper;
- private $config;
-
- public function testCase1()
- {
- $this->assertTrue(true);
- }
-
- public function testCase2()
- {
- $this->assertTrue(true);
- }
-
- public function __construct()
- {
- parent::__construct();
- $this->config = BaseTestConfig::createConfigInstance();
- $this->ScriptDirectory = $this->config->getScriptDir();
- }
-
- public function hasSupportFor($feature)
- {
- return $this->config->hasFeature($feature);
- }
-
- public function __destruct()
- {
- if(!is_null($this->mapper))
- $this->mapper->cacheConfiguration();
- }
-
- function getConnection()
- {
- if(is_null($this->connection))
- $this->connection = new TAdodbConnection($this->config->getConnectionString());
- $this->connection->open();
- return $this->connection;
- }
-
- protected static $ScriptDirectory;
-
- /**
- * Initialize an sqlMap
- */
- protected function initSqlMap()
- {
- $filename = $this->config->getSqlMapConfigFile();
- $this->mapper = new TSQLMapClient;
- $this->sqlmap = $this->mapper->configure($filename,true);
- $this->sqlmap->getTypeHandlerFactory()->register('date', new TDateTimeHandler);
- $this->sqlmap->getDataProvider()->setConnectionString($this->config->getConnectionString());
- }
-
- /**
- * Run a sql batch for the datasource.
- */
- protected function initScript($script)
- {
- $runner = $this->config->getScriptRunner();
- $runner->runScript($this->getConnection(), $this->ScriptDirectory.$script);
- }
-
- /**
- * Create a new account with id = 6
- */
- protected function NewAccount6()
- {
- $account = new Account();
- $account->setID(6);
- $account->setFirstName('Calamity');
- $account->setLastName('Jane');
- $account->setEmailAddress('no_email@provided.com');
- return $account;
- }
-
- /**
- * Verify that the input account is equal to the account(id=1).
- */
- protected function assertAccount1(Account $account)
- {
- $this->assertEquals($account->getID(), 1);
- $this->assertEquals($account->getFirstName(), 'Joe');
- $this->assertEquals($account->getEmailAddress(), 'Joe.Dalton@somewhere.com');
- }
-
- /**
- * Verify that the input account is equal to the account(id=6).
- */
- protected function assertAccount6(Account $account)
- {
- $this->assertEquals($account->getID(), 6);
- $this->assertEquals($account->getFirstName(), 'Calamity');
- $this->assertEquals($account->getLastName(), 'Jane');
- $this->assertNull($account->getEmailAddress());
- }
-
- /**
- * Verify that the input order is equal to the order(id=1).
- */
- protected function assertOrder1(Order $order)
- {
- $date = @mktime(8,15,0,2,15,2003);
-
- $this->assertEquals((int)$order->getID(), 1);
- if($order->getDate() instanceof TDateTime)
- $this->assertEquals($order->getDate()->getTimestamp(), $date);
- else
- $this->fail();
- $this->assertEquals($order->getCardType(), 'VISA');
- $this->assertEquals($order->getCardNumber(), '999999999999');
- $this->assertEquals($order->getCardExpiry(), '05/03');
- $this->assertEquals($order->getStreet(), '11 This Street');
- $this->assertEquals($order->getProvince(), 'BC');
- $this->assertEquals($order->getPostalCode(), 'C4B 4F4');
- }
-
- function assertAccount1AsHashArray($account)
- {
- $this->assertEquals(1, (int)$account["Id"]);
- $this->assertEquals("Joe", $account["FirstName"]);
- $this->assertEquals("Dalton", $account["LastName"]);
- $this->assertEquals("Joe.Dalton@somewhere.com", $account["EmailAddress"]);
- }
-
- function AssertOrder1AsHashArray($order)
- {
- $date = @mktime(8,15,0,2,15,2003);
-
- $this->assertEquals(1, $order["Id"]);
- if($order['Date'] instanceof TDateTime)
- $this->assertEquals($date, $order["Date"]->getTimestamp());
- else
- $this->fail();
- $this->assertEquals("VISA", $order["CardType"]);
- $this->assertEquals("999999999999", $order["CardNumber"]);
- $this->assertEquals("05/03", $order["CardExpiry"]);
- $this->assertEquals("11 This Street", $order["Street"]);
- $this->assertEquals("Victoria", $order["City"]);
- $this->assertEquals("BC", $order["Province"]);
- $this->assertEquals("C4B 4F4", $order["PostalCode"]);
- }
-
-}
-
-class HundredsBool implements ITypeHandlerCallback
-{
- public function getResult($string)
- {
- $value = intval($string);
- if($value == 100)
- return true;
- if($value == 200)
- return false;
- //throw new Exception('unexpected value '.$value);
- }
-
- public function getParameter($parameter)
- {
- if($parameter)
- return 100;
- else
- return 200;
- }
-
- public function createNewInstance($data=null)
- {
- throw new TDataMapperException('can not create');
- }
-}
-
-class OuiNonBool implements ITypeHandlerCallback
-{
- const YES = "Oui";
- const NO = "Non";
-
- public function getResult($string)
- {
- if($string === self::YES)
- return true;
- if($string === self::NO)
- return false;
- //throw new Exception('unexpected value '.$string);
- }
-
- public function getParameter($parameter)
- {
- if($parameter)
- return self::YES;
- else
- return self::NO;
- }
-
- public function createNewInstance($data=null)
- {
- throw new TDataMapperException('can not create');
- }
-}
-
-class TDateTimeHandler implements ITypeHandlerCallback
-{
- public function getResult($string)
- {
- $time = new TDateTime($string);
- return $time;
- }
-
- public function getParameter($parameter)
- {
- if($parameter instanceof TDateTime)
- return $parameter->getTimestamp();
- else
- return $parameter;
- }
-
- public function createNewInstance($data=null)
- {
- return new TDateTime;
- }
-}
-
-class TDateTime
-{
- private $_datetime;
-
- public function __construct($datetime=null)
- {
- if(!is_null($datetime))
- $this->setDatetime($datetime);
- }
-
- public function getTimestamp()
- {
- return strtotime($this->getDatetime());
- }
-
- public function getDateTime()
- {
- return $this->_datetime;
- }
-
- public function setDateTime($value)
- {
- $this->_datetime = $value;
- }
-}
-
+<?php +require_once dirname(__FILE__).'/../phpunit2.php'; + +require_once(dirname(__FILE__).'/common.php'); +require_once(SQLMAP_DIR.'/TSqlMapClient.php'); + +/** + * @package System.DataAccess.SQLMap + */ +class BaseTest extends PHPUnit2_Framework_TestCase +{ + protected $sqlmap; + protected $connection; + private $mapper; + private $config; + + public function testCase1() + { + $this->assertTrue(true); + } + + public function testCase2() + { + $this->assertTrue(true); + } + + public function __construct() + { + parent::__construct(); + $this->config = BaseTestConfig::createConfigInstance(); + $this->ScriptDirectory = $this->config->getScriptDir(); + } + + public function hasSupportFor($feature) + { + return $this->config->hasFeature($feature); + } + + public function __destruct() + { + if(!is_null($this->mapper)) + $this->mapper->cacheConfiguration(); + } + + function getConnection() + { + if(is_null($this->connection)) + $this->connection = new TAdodbConnection($this->config->getConnectionString()); + $this->connection->open(); + return $this->connection; + } + + protected static $ScriptDirectory; + + /** + * Initialize an sqlMap + */ + protected function initSqlMap() + { + $filename = $this->config->getSqlMapConfigFile(); + $this->mapper = new TSQLMapClient; + $this->sqlmap = $this->mapper->configure($filename,true); + $this->sqlmap->getTypeHandlerFactory()->register('date', new TDateTimeHandler); + $this->sqlmap->getDataProvider()->setConnectionString($this->config->getConnectionString()); + } + + /** + * Run a sql batch for the datasource. + */ + protected function initScript($script) + { + $runner = $this->config->getScriptRunner(); + $runner->runScript($this->getConnection(), $this->ScriptDirectory.$script); + } + + /** + * Create a new account with id = 6 + */ + protected function NewAccount6() + { + $account = new Account(); + $account->setID(6); + $account->setFirstName('Calamity'); + $account->setLastName('Jane'); + $account->setEmailAddress('no_email@provided.com'); + return $account; + } + + /** + * Verify that the input account is equal to the account(id=1). + */ + protected function assertAccount1(Account $account) + { + $this->assertEquals($account->getID(), 1); + $this->assertEquals($account->getFirstName(), 'Joe'); + $this->assertEquals($account->getEmailAddress(), 'Joe.Dalton@somewhere.com'); + } + + /** + * Verify that the input account is equal to the account(id=6). + */ + protected function assertAccount6(Account $account) + { + $this->assertEquals($account->getID(), 6); + $this->assertEquals($account->getFirstName(), 'Calamity'); + $this->assertEquals($account->getLastName(), 'Jane'); + $this->assertNull($account->getEmailAddress()); + } + + /** + * Verify that the input order is equal to the order(id=1). + */ + protected function assertOrder1(Order $order) + { + $date = @mktime(8,15,0,2,15,2003); + + $this->assertEquals((int)$order->getID(), 1); + if($order->getDate() instanceof TDateTime) + $this->assertEquals($order->getDate()->getTimestamp(), $date); + else + $this->fail(); + $this->assertEquals($order->getCardType(), 'VISA'); + $this->assertEquals($order->getCardNumber(), '999999999999'); + $this->assertEquals($order->getCardExpiry(), '05/03'); + $this->assertEquals($order->getStreet(), '11 This Street'); + $this->assertEquals($order->getProvince(), 'BC'); + $this->assertEquals($order->getPostalCode(), 'C4B 4F4'); + } + + function assertAccount1AsHashArray($account) + { + $this->assertEquals(1, (int)$account["Id"]); + $this->assertEquals("Joe", $account["FirstName"]); + $this->assertEquals("Dalton", $account["LastName"]); + $this->assertEquals("Joe.Dalton@somewhere.com", $account["EmailAddress"]); + } + + function AssertOrder1AsHashArray($order) + { + $date = @mktime(8,15,0,2,15,2003); + + $this->assertEquals(1, $order["Id"]); + if($order['Date'] instanceof TDateTime) + $this->assertEquals($date, $order["Date"]->getTimestamp()); + else + $this->fail(); + $this->assertEquals("VISA", $order["CardType"]); + $this->assertEquals("999999999999", $order["CardNumber"]); + $this->assertEquals("05/03", $order["CardExpiry"]); + $this->assertEquals("11 This Street", $order["Street"]); + $this->assertEquals("Victoria", $order["City"]); + $this->assertEquals("BC", $order["Province"]); + $this->assertEquals("C4B 4F4", $order["PostalCode"]); + } + +} + +class HundredsBool implements ITypeHandlerCallback +{ + public function getResult($string) + { + $value = intval($string); + if($value == 100) + return true; + if($value == 200) + return false; + //throw new Exception('unexpected value '.$value); + } + + public function getParameter($parameter) + { + if($parameter) + return 100; + else + return 200; + } + + public function createNewInstance($data=null) + { + throw new TDataMapperException('can not create'); + } +} + +class OuiNonBool implements ITypeHandlerCallback +{ + const YES = "Oui"; + const NO = "Non"; + + public function getResult($string) + { + if($string === self::YES) + return true; + if($string === self::NO) + return false; + //throw new Exception('unexpected value '.$string); + } + + public function getParameter($parameter) + { + if($parameter) + return self::YES; + else + return self::NO; + } + + public function createNewInstance($data=null) + { + throw new TDataMapperException('can not create'); + } +} + +class TDateTimeHandler implements ITypeHandlerCallback +{ + public function getResult($string) + { + $time = new TDateTime($string); + return $time; + } + + public function getParameter($parameter) + { + if($parameter instanceof TDateTime) + return $parameter->getTimestamp(); + else + return $parameter; + } + + public function createNewInstance($data=null) + { + return new TDateTime; + } +} + +class TDateTime +{ + private $_datetime; + + public function __construct($datetime=null) + { + if(!is_null($datetime)) + $this->setDatetime($datetime); + } + + public function getTimestamp() + { + return strtotime($this->getDatetime()); + } + + public function getDateTime() + { + return $this->_datetime; + } + + public function setDateTime($value) + { + $this->_datetime = $value; + } +} + ?>
\ No newline at end of file |