public function testMethodApplied()
    {
        return "hello world";
    }
}
class DataExtensionTest_AllMethodNames extends DataExtension implements TestOnly
{
    public function allMethodNames()
    {
        return array(strtolower('getTestValueWith' . $this->owner->ClassName));
    }
}
DataExtensionTest_MyObject::add_extension('DataExtensionTest_Ext1');
DataExtensionTest_MyObject::add_extension('DataExtensionTest_Ext2');
DataExtensionTest_MyObject::add_extension('DataExtensionTest_Faves');
DataExtensionTest_MyObject::add_extension('DataExtensionTest_AllMethodNames');
/**
 * Base class for CMS fields
 */
class DataExtensionTest_CMSFieldsBase extends DataObject implements TestOnly
{
    private static $db = array('PageField' => 'Varchar(255)');
    private static $extensions = array('DataExtensionTest_CMSFieldsBaseExtension');
    public function getCMSFields()
    {
        $fields = parent::getCMSFields();
        $fields->addFieldToTab('Root.Test', new TextField('PageField'));
        return $fields;
    }
}
/**
    }
}
class DataExtensionTest_Faves extends DataExtension implements TestOnly
{
    private static $many_many = array('Faves' => 'DataExtensionTest_RelatedObject');
}
class DataExtensionTest_AppliedToDO extends DataExtension implements TestOnly
{
    public function testMethodApplied()
    {
        return "hello world";
    }
}
DataExtensionTest_MyObject::add_extension('DataExtensionTest_Ext1');
DataExtensionTest_MyObject::add_extension('DataExtensionTest_Ext2');
DataExtensionTest_MyObject::add_extension('DataExtensionTest_Faves');
/**
 * Base class for CMS fields
 */
class DataExtensionTest_CMSFieldsBase extends DataObject implements TestOnly
{
    private static $db = array('PageField' => 'Varchar(255)');
    private static $extensions = array('DataExtensionTest_CMSFieldsBaseExtension');
    public function getCMSFields()
    {
        $fields = parent::getCMSFields();
        $fields->addFieldToTab('Root.Test', new TextField('PageField'));
        return $fields;
    }
}
/**