public function testFindBy() { try { $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book'); $books = $c->findBy('Foo', 'Bar'); $this->fail('findBy() throws an exception when called on an unknown column name'); } catch (UnknownColumnException $e) { $this->assertTrue(true, 'findBy() throws an exception when called on an unknown column name'); } $con = Propel::getServiceContainer()->getConnection(BookTableMap::DATABASE_NAME); $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book'); $books = $c->findBy('Title', 'Don Juan', $con); $expectedSQL = $this->getSql("SELECT book.id, book.title, book.isbn, book.price, book.publisher_id, book.author_id FROM book WHERE book.title='Don Juan'"); $this->assertEquals($expectedSQL, $con->getLastExecutedQuery(), 'findBy() adds simple column conditions'); $this->assertTrue($books instanceof Collection, 'findBy() issues a find()'); $this->assertEquals(1, count($books), 'findBy() adds simple column conditions'); $book = $books->shift(); $this->assertTrue($book instanceof Book, 'findBy() returns an array of Model objects by default'); $this->assertEquals('Don Juan', $book->getTitle(), 'findBy() returns the model objects matching the query'); }