### Question:
DelimitedDataUtils { public static String[] decode(CharSequence line) { return decode(line, DELIMITER); } private  DelimitedDataUtils(); static String encode(Object... columns); static String encode(Object[] columns, char delim); static String encode(CharSequence... columns); static String encode(CharSequence[] columns, char delim); static String encode(Iterable<?> columns); static String encode(Iterable<?> columns, char delim); static String[] decode(CharSequence line); static String[] decode(CharSequence line, char delim); static final char DELIMITER; }### Answer:
@Test public void testDecode() { assertArrayEquals(new String[0], DelimitedDataUtils.decode("")); assertArrayEquals(new String[] {"foo"}, DelimitedDataUtils.decode("foo")); assertArrayEquals(new String[] {"foo","bar"}, DelimitedDataUtils.decode("foo,bar")); }
@Test public void testDecodeEmpty() { assertArrayEquals(new String[0], DelimitedDataUtils.decode("")); assertArrayEquals(new String[] {"foo", "bar", ""}, DelimitedDataUtils.decode("foo,bar,")); assertArrayEquals(new String[] {"", "foo", "bar"}, DelimitedDataUtils.decode(",foo,bar")); assertArrayEquals(new String[] {"foo", "", "bar"}, DelimitedDataUtils.decode("foo,,bar")); }
@Test public void testDecodeDelimiters() { assertArrayEquals(new String[] {"foo,bing","bar"}, DelimitedDataUtils.decode("\"foo,bing\",bar")); }
@Test public void testDecodeQuote() { assertArrayEquals(new String[] {"foo", "bar\"bing"}, DelimitedDataUtils.decode("foo,\"bar\"\"bing\"")); }