private function createConnection()
 {
     $connection = new Database(new LazyDBConnectionProvider(DB_SLAVE), new LazyDBConnectionProvider(DB_MASTER));
     $connection->setDBPrefix($GLOBALS['wgDBprefix']);
     $connection->resetTransactionProfiler($this->resetTransactionProfiler);
     return $connection;
 }
 /**
  * @dataProvider dbTypeProvider
  */
 public function testTableNameMethod($type)
 {
     $database = $this->getMockBuilder('\\DatabaseBase')->disableOriginalConstructor()->setMethods(array('tableName', 'getType'))->getMockForAbstractClass();
     $database->expects($this->any())->method('tableName')->with($this->equalTo('Foo'))->will($this->returnValue('Foo'));
     $database->expects($this->once())->method('getType')->will($this->returnValue($type));
     $connectionProvider = $this->getMockBuilder('\\SMW\\DBConnectionProvider')->disableOriginalConstructor()->getMock();
     $connectionProvider->expects($this->atLeastOnce())->method('getConnection')->will($this->returnValue($database));
     $instance = new Database($connectionProvider);
     $instance->setDBPrefix('bar_');
     $expected = $type === 'sqlite' ? 'bar_Foo' : 'Foo';
     $this->assertEquals($expected, $instance->tableName('Foo'));
 }