summaryrefslogtreecommitdiff
path: root/tests/unit/SQLMap/InheritanceTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/SQLMap/InheritanceTest.php')
-rw-r--r--tests/unit/SQLMap/InheritanceTest.php146
1 files changed, 0 insertions, 146 deletions
diff --git a/tests/unit/SQLMap/InheritanceTest.php b/tests/unit/SQLMap/InheritanceTest.php
deleted file mode 100644
index 41a81ae1..00000000
--- a/tests/unit/SQLMap/InheritanceTest.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-
-require_once(dirname(__FILE__).'/BaseTest.php');
-
-/**
- * @package System.DataAccess.SQLMap
- */
-class InheritanceTest extends BaseTest
-{
- function __construct()
- {
- parent::__construct();
-
- $this->initSqlMap();
- $this->initScript('documents-init.sql');
- }
-
- /// Test All document with no formula
- function testGetAllDocument()
- {
- $list = $this->sqlmap->queryForList("GetAllDocument");
-
- $this->assertEquals(6, count($list));
- $book = $list[0];
- $this->assertBook($book, 1, "The World of Null-A", 55);
-
- $book = $list[1];
- $this->assertBook($book, 3, "Lord of the Rings", 3587);
-
- $document = $list[2];
- $this->assertDocument($document, 5, "Le Monde");
-
- $document = $list[3];
- $this->assertDocument($document, 6, "Foundation");
-
- $news = $list[4];
- $this->assertNewspaper($news, 2, "Le Progres de Lyon", "Lyon");
-
- $document = $list[5];
- $this->assertDocument($document, 4, "Le Canard enchaine");
- }
-
- /// Test All document in a typed collection
- function testGetTypedCollection()
- {
- $list = $this->sqlmap->queryForList("GetTypedCollection");
-
- $this->assertEquals(6, $list->getCount());
-
- $book = $list[0];
- $this->assertBook($book, 1, "The World of Null-A", 55);
-
- $book = $list[1];
- $this->assertBook($book, 3, "Lord of the Rings", 3587);
-
- $document = $list[2];
- $this->assertDocument($document, 5, "Le Monde");
-
- $document = $list[3];
- $this->assertDocument($document, 6, "Foundation");
-
- $news = $list[4];
- $this->assertNewspaper($news, 2, "Le Progres de Lyon", "Lyon");
-
- $document = $list[5];
- $this->assertDocument($document, 4, "Le Canard enchaine");
- }
-
- /// Test All document with Custom Type Handler
- function testGetAllDocumentWithCustomTypeHandler()
- {
-
- //register the custom inheritance type handler
- $this->sqlmap->getTypeHandlerFactory()->register(
- 'CustomInheritance', new CustomInheritance);
-
- $list = $this->sqlmap->queryForList("GetAllDocumentWithCustomTypeHandler");
-
- $this->assertEquals(6, count($list));
- $book = $list[0];
- $this->assertBook($book, 1, "The World of Null-A", 55);
-
- $book = $list[1];
- $this->assertBook($book, 3, "Lord of the Rings", 3587);
-
- $news = $list[2];
- $this->assertNewspaper($news, 5, "Le Monde", "Paris");
-
- $book = $list[3];
- $this->assertBook($book, 6, "Foundation", 557);
-
- $news = $list[4];
- $this->assertNewspaper($news, 2, "Le Progres de Lyon", "Lyon");
-
- $news = $list[5];
- $this->assertNewspaper($news, 4, "Le Canard enchaine", "Paris");
- }
-
- function AssertDocument(Document $document, $id, $title)
- {
- $this->assertEquals($id, $document->getID());
- $this->assertEquals($title, $document->getTitle());
- }
-
- function AssertBook(Book $book, $id, $title, $pageNumber)
- {
- $this->assertEquals($id, $book->getId());
- $this->assertEquals($title, $book->getTitle());
- $this->assertEquals($pageNumber, (int)$book->getPageNumber());
- }
-
- function AssertNewspaper(Newspaper $news, $id, $title, $city)
- {
- $this->assertEquals($id, $news->getId());
- $this->assertEquals($title, $news->getTitle());
- $this->assertEquals($city, $news->getCity());
- }
-}
-
-
-class CustomInheritance implements ITypeHandlerCallback
-{
- public function getResult($type)
- {
- switch ($type)
- {
- case 'Monograph': case 'Book':
- return 'Book';
- case 'Tabloid': case 'Broadsheet': case 'Newspaper':
- return 'Newspaper';
- default:
- return 'Document';
- }
- }
-
- public function getParameter($parameter)
- {
- throw new TDataMapperException('not implemented');
- }
-
- public function createNewInstance($data=null)
- {
- throw new TDataMapperException('can not create');
- }
-}
-?> \ No newline at end of file