public function testIsVersioningNecessary()
 {
     $o = new \VersionableBehaviorTest1();
     $this->assertTrue($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     $o->setBar(123);
     $this->assertTrue($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     \VersionableBehaviorTest1Peer::disableVersioning();
     $o = new \VersionableBehaviorTest1();
     $this->assertFalse($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     $o->setBar(123);
     $this->assertFalse($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     \VersionableBehaviorTest1Peer::enableVersioning();
     $b1 = new \VersionableBehaviorTest5();
     $b1->setFoo('Hello');
     $b2 = new \VersionableBehaviorTest5();
     $b2->setFoo('World');
     $a = new \VersionableBehaviorTest4();
     $a->setBar(123);
     // a1
     $this->assertTrue($a->isVersioningNecessary());
     $a->save();
     $this->assertFalse($a->isVersioningNecessary());
     $a->addVersionableBehaviorTest5($b1);
     $this->assertTrue($a->isVersioningNecessary());
     $a->save();
     $this->assertFalse($a->isVersioningNecessary());
     $a->addVersionableBehaviorTest5($b2);
     $this->assertTrue($a->isVersioningNecessary());
     $a->save();
     $this->assertFalse($a->isVersioningNecessary());
     $b2->setFoo('World !');
     $this->assertTrue($b2->isVersioningNecessary());
     $this->assertTrue($a->isVersioningNecessary());
     $a->save();
     $this->assertFalse($b2->isVersioningNecessary());
     $this->assertFalse($a->isVersioningNecessary());
 }
 public function testIsVersioningNecessary()
 {
     $o = new VersionableBehaviorTest1();
     $this->assertTrue($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     $o->setBar(123);
     $this->assertTrue($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     VersionableBehaviorTest1Peer::disableVersioning();
     $o = new VersionableBehaviorTest1();
     $this->assertFalse($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     $o->setBar(123);
     $this->assertFalse($o->isVersioningNecessary());
     $o->save();
     $this->assertFalse($o->isVersioningNecessary());
     VersionableBehaviorTest1Peer::enableVersioning();
 }