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 }