Пример #1
0
 public function testGrabWrongSubtypeReturnsNull()
 {
     $fix = new \Doctrine\Tests\Models\Company\CompanyFixContract();
     $fix->setFixPrice(2000);
     $this->_em->persist($fix);
     $this->_em->flush();
     $id = $fix->getId();
     $this->assertNull($this->_em->find('Doctrine\\Tests\\Models\\Company\\CompanyFlexContract', $id));
     $this->assertNull($this->_em->getReference('Doctrine\\Tests\\Models\\Company\\CompanyFlexContract', $id));
     $this->assertNull($this->_em->getPartialReference('Doctrine\\Tests\\Models\\Company\\CompanyFlexContract', $id));
 }
 public function testPersistChildOfBaseClass()
 {
     $this->persistRelatedEmployees();
     $fixContract = new \Doctrine\Tests\Models\Company\CompanyFixContract();
     $fixContract->setFixPrice(1000);
     $fixContract->setSalesPerson($this->salesPerson);
     $this->_em->persist($fixContract);
     $this->_em->flush();
     $this->_em->clear();
     $contract = $this->_em->find('Doctrine\\Tests\\Models\\Company\\CompanyFixContract', $fixContract->getId());
     $this->assertInstanceOf('Doctrine\\Tests\\Models\\Company\\CompanyFixContract', $contract);
     $this->assertEquals(1000, $contract->getFixPrice());
     $this->assertEquals($this->salesPerson->getId(), $contract->getSalesPerson()->getId());
 }
 public function testCompanyContract()
 {
     $person = new \Doctrine\Tests\Models\Company\CompanyEmployee();
     $person->setName('Poor Sales Guy');
     $person->setDepartment('Sales');
     $person->setSalary(100);
     $this->_em->persist($person);
     for ($i = 0; $i < 33; $i++) {
         $fix = new \Doctrine\Tests\Models\Company\CompanyFixContract();
         $fix->setFixPrice(1000);
         $fix->setSalesPerson($person);
         $fix->markCompleted();
         $this->_em->persist($fix);
         $flex = new \Doctrine\Tests\Models\Company\CompanyFlexContract();
         $flex->setSalesPerson($person);
         $flex->setHoursWorked(100);
         $flex->setPricePerHour(100);
         $flex->markCompleted();
         $this->_em->persist($flex);
         $ultra = new \Doctrine\Tests\Models\Company\CompanyFlexUltraContract();
         $ultra->setSalesPerson($person);
         $ultra->setHoursWorked(150);
         $ultra->setPricePerHour(150);
         $ultra->setMaxPrice(7000);
         $this->_em->persist($ultra);
     }
     $this->_em->flush();
     $this->_em->clear();
     $start = microtime(true);
     $contracts = $this->_em->getRepository('Doctrine\\Tests\\Models\\Company\\CompanyContract')->findAll();
     echo "99 CompanyContract: " . number_format(microtime(true) - $start, 6) . "\n";
     $this->assertEquals(99, count($contracts));
     $this->_em->clear();
     $start = microtime(true);
     $contracts = $this->_em->getRepository('Doctrine\\Tests\\Models\\Company\\CompanyContract')->findAll();
     echo "99 CompanyContract: " . number_format(microtime(true) - $start, 6) . "\n";
     $this->assertEquals(99, count($contracts));
 }