public function testQueryModelClassOverride() { $manualFirst = 'Glorpen\\Propel\\PropelBundle\\Tests\\Fixtures\\Model\\ManualBook'; $manualSecond = 'Glorpen\\Propel\\PropelBundle\\Tests\\Fixtures\\Model\\ManualSecondBook'; \Propel::disableInstancePooling(); $o = $this->setUpListener(); $p = new TestOMProvider(function ($row, $cols) use($manualFirst, $manualSecond) { if ($row[0] == 1) { return $manualFirst; } else { return $manualSecond; } }, array($manualFirst => self::$modelClass, $manualSecond => self::$modelClass)); $o->addProvider($p); $b = new Book(); $b->setTitle("extended-title"); $b->save(); $b = new Book(); $b->setTitle("extended-title2"); $b->save(); $manual1 = BookQuery::create()->filterById(1)->findOne(); $this->assertInstanceOf($manualFirst, $manual1); $manual2 = BookQuery::create()->filterById(2)->findOne(); $this->assertInstanceOf($manualSecond, $manual2); }