public function testGetTableListAPI()
 {
     $api = new TreasureData_API();
     $fixture = file_get_contents(TD_API_FIXTURE_PATH . join(DIRECTORY_SEPARATOR, array("api", "table_list.json")));
     $stub = $this->getMockForAbstractClass('TreasureData_API_Driver');
     $stub->expects($this->any())->method('request')->will($this->returnValue(new TreasureData_API_Response(new TreasureData_API_Request(), new TreasureData_API_Stream_InputStream($fixture))));
     $api->setDriver($stub);
     $result = $api->getTableList("db0");
     $this->assertInstanceof('TreasureData_API_Result', $result);
     $message = $result->getResult();
     $this->assertInstanceof('TreasureData_API_Message_TableList', $message);
     /** @var TreasureData_API_Message_TableList $message */
     $this->assertEquals("db0", $message->getDatabase());
     $i = 0;
     $expected = json_decode($fixture, true);
     foreach ($message->getTables() as $table) {
         /** @var TreasureData_API_Message_Table $table */
         $this->assertInstanceof("TreasureData_API_Message_Table", $table);
         $this->assertEquals($expected['tables'][$i]['count'], $table->getCount());
         $this->assertEquals($expected['tables'][$i]['name'], $table->getName());
         $i++;
     }
 }