public function testEnforceVersioning()
 {
     $bar = new \VersionableBehaviorTest10();
     $bar->setBar(42);
     $bar->save();
     $this->assertEquals(1, $bar->getVersion());
     $this->assertFalse($bar->isVersioningNecessary());
     $bar->enforceVersioning();
     $this->assertTrue($bar->isVersioningNecessary());
     $bar->save();
     $this->assertEquals(2, $bar->getVersion());
 }
 public function testVersionValueIncrementsOnDeleteManyToMany()
 {
     $bar = new VersionableBehaviorTest10();
     $bar->setBar(42);
     $bar->save();
     $foo = new VersionableBehaviorTest11();
     $foo->setFoo('Marvin');
     $foo->save();
     $baz = new VersionableBehaviorTest12();
     $baz->setVersionablebehaviortest11($foo);
     $baz->setBaz('So long and thanks for all the fish');
     $bar->addVersionablebehaviortest12($baz);
     $bar->save();
     $this->assertEquals(1, $baz->getVersion());
     $this->assertEquals(2, $bar->getVersion());
     $baz->delete();
     $bar->save();
     $this->assertEquals(3, $bar->getVersion());
 }