<?php
/*
Open Media Collectors Database
Copyright (C) 2001,2006 by Jason Pell
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
// TODO - add tests
require_once 'PHPUnit.php';
include_once("./functions/WrapperFileHandler.class.php");
include_once("./functions/XMLImportPluginHandler.class.php");
include_once("./import/DVDProfilerImportPlugin.class.php");
class DVDProfilerImportPluginTest extends PHPUnit_TestCase
{
function DVDProfilerImportPluginTest($name) {
parent::PHPUnit_TestCase($name);
}
function testXMLParse() {
$plugin =& new DVDProfilerImportPlugin();
$importHandler =& new TestItemImportHandler();
$plugin->setItemImportHandler($importHandler);
$f = fopen("./docs/testcases/resources/DVDProfilerCollection.xml", 'rb');
if($f) {
$fileHandler = new WrapperFileHandler($f);
$xmlHandler = new XMLImportPluginHandler($plugin, $fileHandler);
if($xmlHandler->handleImport()) {
$this->assertEquals(4, $importHandler->getItemCount());
} else {
$this->fail("XML Parser failed");
}
fclose($f);
} else {
$this->fail("Could not open DVDProfilerCollection.xml");
}
}
}
class TestItemImportHandler
{
var $__items = array();
function TestItemImportHandler() {
}
function getItemCount() {
return count($this->__items);
}
function addError($method, $error) {
}
function startItem($itemType) {
$this->__items[] = $itemType;
}
function endItem() {
}
function startItemInstance() {
}
function endItemInstance() {
}
function setTitle($title) {
}
function setInstanceStatusType($statusType) {
}
function setInstanceStatusComment($statusComment) {
}
function setInstanceBorrowDuration($borrowDuration) {
}
function addAttribute($attributeType, $orderNo, $attributeVal) {
}
}
?>