/**
	 * @see self::testVersionedSiteTreeDeleteWithDeletableVersionedHasOneRelation()
	 */
	public function testVersionedSiteTreeDeleteWithDeletableVersionedHasOneRelationFromNewClassInstance() {
		// Make sure that has_many <= has_one relations are cleaned
		// for related DataObject classes even if the class type
		// being deleted does not have the relations.
		DataObjectOnDeleteDecorator::set_clean_versions_table(true);
		
		$masterPage = DataObject::get_one('DataObjectOnDeleteDecoratorTest_MasterPage', "\"Title\" = 'MasterPage'");
		$this->assertInstanceOf('DataObjectOnDeleteDecoratorTest_MasterPage', $masterPage);
		$masterPageID = $masterPage->ID;
		
		$subPage = DataObject::get_one('DataObjectOnDeleteDecoratorTest_SubPage', "\"Title\" = 'SubPage'");
		$this->assertInstanceOf('DataObjectOnDeleteDecoratorTest_SubPage', $subPage);
		$subPageID = $subPage->ID;
		$this->assertEquals($masterPage->ID, $subPage->MasterPageID, "Something is wrong with the fixture");
		$subPage->doPublish();
		
		$masterPage = $masterPage->newClassInstance('VirtualPage');
		$masterPage->write();
		$masterPage->delete();
		
		$this->assertVersionedTables('SiteTree', $masterPageID, false);
		$this->assertVersionedTables('DataObjectOnDeleteDecoratorTest_SubPage', $subPageID, false);
		
		DataObjectOnDeleteDecorator::set_clean_versions_table(false);
	}