### Question:
ProcedureColumnsTab extends BaseProcedureTab { protected IDataSet createDataSet() throws DataSetException { final ISQLConnection conn = getSession().getSQLConnection(); return conn.getSQLMetaData().getProcedureColumnsDataSet(getProcedureInfo()); }  String getTitle(); String getHint();  }### Answer:
@Test public void testCreateDataSet() throws DataSetException { ISession mockSession = mockHelper.createMock(ISession.class); IApplication mockApplication = mockHelper.createMock(IApplication.class); IIdentifier mockIdentifier = mockHelper.createMock(IIdentifier.class); SessionManager mockSessionManager = mockHelper.createMock(SessionManager.class); ISQLConnection mockSqlConnection = mockHelper.createMock(ISQLConnection.class); SQLDatabaseMetaData mockMetaData = mockHelper.createMock(SQLDatabaseMetaData.class); IProcedureInfo mockProcedureInfo = mockHelper.createMock(IProcedureInfo.class); expect(mockSessionManager.getSession(mockIdentifier)).andStubReturn(mockSession); expect(mockSession.getApplication()).andStubReturn(mockApplication); expect(mockSession.getIdentifier()).andStubReturn(mockIdentifier); expect(mockApplication.getSessionManager()).andStubReturn(mockSessionManager); expect(mockSession.getSQLConnection()).andStubReturn(mockSqlConnection); expect(mockSqlConnection.getSQLMetaData()).andStubReturn(mockMetaData); expect(mockMetaData.getProcedureColumnsDataSet(mockProcedureInfo)).andStubReturn(null); mockHelper.replayAll(); classUnderTest.setProcedureInfo(mockProcedureInfo); classUnderTest.setSession(mockSession); classUnderTest.createDataSet(); mockHelper.verifyAll(); }