### Question:
ColumnBuilder { public ColumnBuilder dimensions(String dimensions) { Assert.argument(dimensions != null, "dimensions == null"); Assert.argument(dimensions.isEmpty() || dimensions.matches(DIMENSIONS_PATTERN), "Illegal dimensions string '" + dimensions + "'."); this.dimensions = dimensions; return this; } ColumnBuilder();  ColumnBuilder(Item column); ColumnBuilder name(String name); ColumnBuilder type(DataType type); ColumnBuilder unsigned(boolean unsigned); ColumnBuilder rank(int rank); ColumnBuilder dimensions(String dimensions); ColumnBuilder unit(String unit); ColumnBuilder flagMasks(byte... flagMasks); ColumnBuilder flagMasks(int... flagMasks); ColumnBuilder flagMasks(String flagMasks); ColumnBuilder flagMeanings(String flagMeanings); ColumnBuilder flagValues(byte... flagValues); ColumnBuilder flagValues(String flagValues); ColumnBuilder addOffset(Number addOffset); ColumnBuilder scaleFactor(Number scaleFactor); ColumnBuilder fillValue(Number fillValue); ColumnBuilder validMin(Number validMin); ColumnBuilder validMax(Number validMax); ColumnBuilder standardName(String standardName); ColumnBuilder longName(String longName); ColumnBuilder role(String role); ColumnBuilder sensor(Sensor sensor); @SuppressWarnings({"deprecation"}) Item build();  }### Answer:
@Test public void testSetDimensions() { builder.dimensions(""); builder.dimensions("a"); builder.dimensions("a b"); builder.dimensions("a b c"); }
@Test(expected = IllegalArgumentException.class) public void testSetDimensions_WithLeadingWhitespace() { builder.dimensions(" a b"); builder.dimensions("a b"); builder.dimensions("a b "); }
@Test(expected = IllegalArgumentException.class) public void testSetDimensions_WithTooMuchWhitespace() { builder.dimensions("a b"); builder.dimensions("a b "); }
@Test(expected = IllegalArgumentException.class) public void testSetDimensions_WithTrailingWhitespace() { builder.dimensions("a b "); }