### Question:
DataSet { public void deleteColumn(final int col) { final String[] headers2 = new String[headers.length - 1]; int h2Index = 0; for (int i = 0; i < headers.length; i++) { if (i != col) { headers2[h2Index++] = headers[i]; } } this.headers = headers2; int rowIndex = 0; for (final Object[] row : this.data) { final Object[] row2 = new Object[headers.length]; int r2Index = 0; for (int i = 0; i <= headers.length; i++) { if (i != col) { row2[r2Index++] = row[i]; } } this.data.set(rowIndex++, row2); } } DataSet(final String[] theHeaders); static DataSet load(final File filename); static DataSet load(final InputStream is); static void save(final File filename, final DataSet ds); static void save(final OutputStream os, final DataSet ds); int getHeaderCount(); String[] getHeaders(); void add(final Object[] row); List<Object[]> getData(); double getMax(final int column); double getMin(final int column); void normalizeRange(final int column, final double dataLow, final double dataHigh, final double normalizedLow, final double normalizedHigh); void normalizeRange(final int column, final double normalizedLow, final double normalizedHigh); void deNormalizeRange(final int column, final double dataLow, final double dataHigh, final double normalizedLow, final double normalizedHigh); void normalizeReciprocal(final int column); void deNormalizeReciprocal(final int column); Map<String, Integer> enumerateClasses(final int column); Map<String, Integer> encodeNumeric(final int column); Map<String, Integer> encodeOneOfN(final int column); Map<String, Integer> encodeOneOfN(final int column, final double offValue, final double onValue); Map<String, Integer> encodeEquilateral(final int column); Map<String, Integer> encodeEquilateral(final int column, final double offValue, final double onValue); int size(); void appendColumns(final int count); void insertColumns(final int column, final int columnCount); @Override boolean equals(final Object other); List<BasicData> extractUnsupervisedLabeled(final int labelIndex); List<BasicData> extractSupervised(final int inputBegin, final int inputCount, final int idealBegin, final int idealCount); void deleteUnknowns(); void deleteColumn(final int col); void replaceColumn(final int columnIndex, final double searchFor, final double replaceWith, final double others);  }### Answer:
@Test public void testDeleteColumn() { final DataSet ds1 = generateTestData(); ds1.deleteColumn(0); assertEquals(2, ds1.getHeaderCount()); assertTrue(ds1.getHeaders()[0].equals("numeric")); assertTrue(ds1.getHeaders()[1].equals("dec")); }