public function testGetGlobalPath()
 {
     // Test basepath
     $basePath = Gas\Janitor::path('base');
     $this->assertTrue(is_dir($basePath));
     // Test apppath
     $appPath = Gas\Janitor::path('app');
     $this->assertTrue(is_dir($appPath));
     // Test invalid path
     $this->setExpectedException('InvalidArgumentException', 'empty_arguments:path');
     $undefinedPath = Gas\Janitor::path('undefined');
 }
    unset($DB);
}
// Define this root folder as Gas ORM base path
defined('GASPATH') or define('GASPATH', __DIR__ . DIRECTORY_SEPARATOR);
// Load everything on base gas directory
require_once GASPATH . 'classes' . DIRECTORY_SEPARATOR . 'core.php';
require_once GASPATH . 'classes' . DIRECTORY_SEPARATOR . 'data.php';
require_once GASPATH . 'classes' . DIRECTORY_SEPARATOR . 'janitor.php';
require_once GASPATH . 'classes' . DIRECTORY_SEPARATOR . 'orm.php';
require_once GASPATH . 'interfaces' . DIRECTORY_SEPARATOR . 'extension.php';
// Load needed DB files
require_once Gas\Janitor::path('base') . 'database' . DIRECTORY_SEPARATOR . 'DB.php';
require_once Gas\Janitor::path('base') . 'database' . DIRECTORY_SEPARATOR . 'DB_forge.php';
require_once Gas\Janitor::path('base') . 'database' . DIRECTORY_SEPARATOR . 'DB_utility.php';
// Define DB path
define('DBPATH', Gas\Janitor::path('base') . 'database' . DIRECTORY_SEPARATOR);
define('DBDRIVERSPATH', DBPATH . 'drivers' . DIRECTORY_SEPARATOR);
// Mock internal CI instance and low-level functions,
// in case we run Gas ORM outside CI scope
if (!function_exists('get_instance')) {
    // Build our own TRON!
    class Tron
    {
        /**
         * @var object Tron super-object
         */
        private static $instance;
        /**
         * Constructor
         *
         * @param   mixed   CI DB instance