/**
  * @todo Extend type change tests (e.g. '0'==NULL)
  */
 function testChangedFields()
 {
     $page = $this->objFromFixture('Page', 'home');
     $page->Title = 'Home-Changed';
     $page->ShowInMenus = true;
     $this->assertEquals($page->getChangedFields(false, 1), array('Title' => array('before' => 'Home', 'after' => 'Home-Changed', 'level' => 2), 'ShowInMenus' => array('before' => 1, 'after' => true, 'level' => 1)), 'Changed fields are correctly detected with strict type changes (level=1)');
     $this->assertEquals($page->getChangedFields(false, 2), array('Title' => array('before' => 'Home', 'after' => 'Home-Changed', 'level' => 2)), 'Changed fields are correctly detected while ignoring type changes (level=2)');
     $newPage = new Page();
     $newPage->Title = "New Page Title";
     $this->assertEquals($newPage->getChangedFields(false, 2), array('Title' => array('before' => null, 'after' => 'New Page Title', 'level' => 2)), 'Initialised fields are correctly detected as full changes');
 }