manager = new ezcPersistentMultiManager( $managers ); } public function testFetchValid() { $def = $this->manager->fetchDefinition( "SimpleDefinition" ); $this->assertEquals( true, $def instanceof ezcPersistentObjectDefinition ); $this->assertEquals( null, $def->class ); $def = $this->manager->fetchDefinition( "MyClass" ); $this->assertEquals( true, $def instanceof ezcPersistentObjectDefinition ); $this->assertEquals( "MyClass", $def->class ); } public function testFetchValidTwice() { $def = $this->manager->fetchDefinition( "SimpleDefinition" ); $this->assertEquals( true, $def instanceof ezcPersistentObjectDefinition ); $def2 = $this->manager->fetchDefinition( "SimpleDefinition" ); $this->assertEquals( true, $def2 instanceof ezcPersistentObjectDefinition ); } public function testInvalidClass() { try { $this->manager->fetchDefinition( "NoSuchClass" ); } catch ( Exception $e ) { return; } $this->fail( "Fetching a non-existent definition did not throw an exception." ); } public function testAddManager() { $this->manager = new ezcPersistentMultiManager(); $this->manager->addManager( new ezcPersistentCodeManager( dirname( __FILE__ ) . "/data/" ) ); $this->manager->addManager( new ezcPersistentCodeManager( dirname( __FILE__ ) . "/data2/" ) ); // test fetching $def = $this->manager->fetchDefinition( "SimpleDefinition" ); $this->assertEquals( true, $def instanceof ezcPersistentObjectDefinition ); $this->assertEquals( null, $def->class ); $def = $this->manager->fetchDefinition( "MyClass" ); $this->assertEquals( true, $def instanceof ezcPersistentObjectDefinition ); $this->assertEquals( "MyClass", $def->class ); } public static function suite() { return new PHPUnit_Framework_TestSuite( 'ezcPersistentMultiManagerTest' ); } } ?>