function testAssignmentBeforeParentSaved()
 {
     $client = new Client(array('name' => 'HP'));
     $contract = new Contract(array('code' => 'test', 'date' => '2005-12-01'));
     $contract->save();
     $client->contract = $contract;
     $this->assertTrue($client->isNewRecord());
     $this->assertEqual($contract, $client->contract);
     $this->assertTrue($client->save());
     $this->assertEqual($contract, $client->contract);
     $this->assertCopy($contract, $client->contract(True));
     // assertEqual crashes
     // because of a nesting level too deep - recursive dependency
 }