Data { public Width getWidth() { return width; } Data(final String[][] data, final boolean headings);   Data(final Cell[][] cells, final Data previous); boolean hasHeading(); Width getWidth(); int getHeight(); List<Column> getColumns(); List<Row> getRows(); Column getColumn(final int i); Row getRow(final int i); static Builder builder();  }
@Test public void width() { final String[][] rows = new String[4][]; rows[0] = new String[]{"aa bbb"}; rows[1] = new String[]{"a b c", "aa", "aa", "", "abcd ef"}; rows[2] = new String[]{"", "a b", "", "abc"}; rows[3] = new String[]{"a", "b", "cdefhijklmn opqrs"}; final Data table = new Data(rows, false); final Width width = table.getWidth(); assertEquals(23, width.getMin()); assertEquals(36, width.getMax()); }