Some micro-optimizations
diff --git a/tests/codeigniter/database/DB_driver_test.php b/tests/codeigniter/database/DB_driver_test.php
index 9e16e29..1f48ca9 100644
--- a/tests/codeigniter/database/DB_driver_test.php
+++ b/tests/codeigniter/database/DB_driver_test.php
@@ -5,7 +5,7 @@
 	public function test_initialize()
 	{
 		$config = Mock_Database_DB::config(DB_DRIVER);
-		$driver_name = current(explode('/', DB_DRIVER));
+		sscanf(DB_DRIVER, '%[^/]/', $driver_name);
 		$driver = $this->$driver_name($config[DB_DRIVER]);
 
 		$this->assertTrue($driver->initialize());
diff --git a/tests/mocks/autoloader.php b/tests/mocks/autoloader.php
index 5b202f1..4fc9c63 100644
--- a/tests/mocks/autoloader.php
+++ b/tests/mocks/autoloader.php
@@ -38,13 +38,11 @@
 
 	if (strpos($class, 'Mock_') === 0)
 	{
-		$class = str_replace(array('Mock_', '_'), array('', DIRECTORY_SEPARATOR), $class);
-		$class = strtolower($class);
+		$class = strtolower(str_replace(array('Mock_', '_'), array('', DIRECTORY_SEPARATOR), $class));
 	}
 	elseif (strpos($class, 'CI_') === 0)
 	{
-		$fragments = explode('_', $class, 2);
-		$subclass = next($fragments);
+		$subclass = substr($class, 3);
 
 		if (in_array($subclass, $ci_core))
 		{
@@ -88,7 +86,7 @@
 		}
 	}
 
-	$file = (isset($file)) ? $file : $dir.$class.'.php';
+	$file = isset($file) ? $file : $dir.$class.'.php';
 
 	if ( ! file_exists($file))
 	{