1 package com.opencsv;
2
3 import java.sql.ResultSetMetaData;
4 import java.sql.SQLException;
5 import java.sql.Types;
6
7 import static org.mockito.Mockito.mock;
8 import static org.mockito.Mockito.when;
9
10 public class MockResultSetMetaDataBuilder {
11
12 public static ResultSetMetaData buildMetaData(String[] columnNames) throws SQLException {
13
14 ResultSetMetaData metaData = mock(ResultSetMetaData.class);
15
16 when(metaData.getColumnCount()).thenReturn(columnNames.length);
17 for (int i = 0; i < columnNames.length; i++) {
18 when(metaData.getColumnName(i + 1)).thenReturn(columnNames[i]);
19 when(metaData.getColumnLabel(i + 1)).thenReturn(columnNames[i]);
20 when(metaData.getColumnType(i + 1)).thenReturn(Types.VARCHAR);
21 }
22
23 return metaData;
24 }
25
26 public static ResultSetMetaData buildMetaData(String[] columnNames, int[] columnTypes) throws SQLException {
27
28 ResultSetMetaData metaData = mock(ResultSetMetaData.class);
29
30 when(metaData.getColumnCount()).thenReturn(columnNames.length);
31 for (int i = 0; i < columnNames.length; i++) {
32 when(metaData.getColumnName(i + 1)).thenReturn(columnNames[i]);
33 when(metaData.getColumnLabel(i + 1)).thenReturn(columnNames[i]);
34 when(metaData.getColumnType(i + 1)).thenReturn(columnTypes[i]);
35 }
36
37 return metaData;
38 }
39 }