### Question:
Extractors { public Extractor<long[]> longArray() { return longArray; } Extractors( char arrayDelimiter );  Extractors( char arrayDelimiter, boolean emptyStringsAsNull );  Extractors( char arrayDelimiter, boolean emptyStringsAsNull, boolean trimStrings );  Extractors( char arrayDelimiter, boolean emptyStringsAsNull, boolean trimStrings, Supplier<ZoneId> defaultTimeZone ); void add( Extractor<?> extractor ); Extractor<?> valueOf( String name ); Extractor<String> string(); LongExtractor long_(); IntExtractor int_(); CharExtractor char_(); ShortExtractor short_(); ByteExtractor byte_(); BooleanExtractor boolean_(); FloatExtractor float_(); DoubleExtractor double_(); Extractor<String[]> stringArray(); Extractor<boolean[]> booleanArray(); Extractor<byte[]> byteArray(); Extractor<short[]> shortArray(); Extractor<int[]> intArray(); Extractor<long[]> longArray(); Extractor<float[]> floatArray(); Extractor<double[]> doubleArray(); PointExtractor point(); DateExtractor date(); TimeExtractor time(); DateTimeExtractor dateTime(); LocalTimeExtractor localTime(); LocalDateTimeExtractor localDateTime(); DurationExtractor duration();  }### Answer:
@Test void shouldFailExtractingLongArrayWhereAnyValueIsEmpty() { Extractors extractors = new Extractors( ';' ); long[] longData = new long[] {112233,4455,66778899}; String data = toString( longData, ';' ) + ";"; assertThrows( NumberFormatException.class, () -> extractors.longArray().extract( data.toCharArray(), 0, data.length(), false ) ); }
@Test void shouldExtractEmptyLongArrayForEmptyArrayString() { Extractors extractors = new Extractors( ',' ); String value = ""; Extractor<long[]> extractor = extractors.longArray(); extractor.extract( value.toCharArray(), 0, value.length(), false ); assertEquals( 0, extractor.value().length ); }