public function testSerializeUnserializeModifyMerge()
 {
     $user = new CmsUser();
     $user->name = 'Guilherme';
     $user->username = '******';
     $user->status = 'developer';
     $ph1 = new CmsPhonenumber();
     $ph1->phonenumber = 1234;
     $user->addPhonenumber($ph1);
     $this->dm->persist($user);
     $this->dm->flush();
     $this->assertTrue($this->dm->contains($user));
     $this->assertTrue($user->phonenumbers->isInitialized());
     $serialized = serialize($user);
     $this->dm->clear();
     $this->assertFalse($this->dm->contains($user));
     unset($user);
     $user = unserialize($serialized);
     $ph2 = new CmsPhonenumber();
     $ph2->phonenumber = 56789;
     $user->addPhonenumber($ph2);
     $this->assertEquals(2, count($user->getPhonenumbers()));
     $this->assertFalse($this->dm->contains($user));
     $this->dm->persist($ph2);
     // Merge back in
     $user = $this->dm->merge($user);
     // merge cascaded to phonenumbers
     $this->dm->flush();
     $this->assertTrue($this->dm->contains($user));
     $this->assertEquals(2, count($user->getPhonenumbers()));
     $phonenumbers = $user->getPhonenumbers();
     $this->assertTrue($this->dm->contains($phonenumbers[0]));
     $this->assertTrue($this->dm->contains($phonenumbers[1]));
 }
Ejemplo n.º 2
0
 /**
  * [jwage: Memory increased by 14.09 kb]
  */
 public function testMemoryUsage()
 {
     $memoryUsage = array();
     for ($i = 0; $i < 100; $i++) {
         $ph1 = new CmsPhonenumber();
         $ph1->phonenumber = '12345';
         $ph2 = new CmsPhonenumber();
         $ph2->phonenumber = '12346';
         $user = new CmsUser();
         $user->username = '******';
         $user->addPhonenumber($ph1);
         $user->addPhonenumber($ph2);
         $this->dm->persist($user);
         $this->dm->flush();
         $this->dm->clear();
         gc_collect_cycles();
         $memoryUsage[] = memory_get_usage();
     }
     $start = current($memoryUsage);
     $end = end($memoryUsage);
     $increase = $end - $start;
     echo sprintf('Memory increased by %s', $this->formatMemory($increase)) . PHP_EOL;
 }