### Question:
ColumnTypeResolver { public ColumnType[] getColumnTypes() { final List<ColumnType> columnTypes = new ArrayList<>(); try { columnTypes.addAll(getColumnTypesFromMetadata()); columnTypes.addAll(getColumnTypesFromData()); } catch (final JSONException e) { } columnTypes.addAll(getColumnTypesFromRemainingColumns()); return columnTypes.toArray(new ColumnType[columnTypes.size()]); } ColumnTypeResolver(final JSONObject jsonObject, final String[] columnNamesArray); ColumnType[] getColumnTypes();  }### Answer:
@Test public void testGetColumnTypes() throws Exception { final JSONObject jsonObject = createJSONObject(); final String[] columnNames = new String[] { NEO4J_COLUMN_NAME_ID, COLUMN_BOOLEAN, COLUMN_INTEGER, COLUMN_LONG, COLUMN_DOUBLE, COLUMN_ARRAY, COLUMN_STRING }; final ColumnTypeResolver resolver = new ColumnTypeResolver(jsonObject, columnNames); final ColumnType[] columnTypes = resolver.getColumnTypes(); assertEquals(columnTypes.length, columnNames.length); assertEquals(columnTypes[0], ColumnType.BIGINT); assertEquals(columnTypes[1], ColumnType.BOOLEAN); assertEquals(columnTypes[2], ColumnType.STRING); assertEquals(columnTypes[3], ColumnType.LIST); assertEquals(columnTypes[4], ColumnType.DOUBLE); assertEquals(columnTypes[5], ColumnType.INTEGER); assertEquals(columnTypes[6], ColumnType.BIGINT); }