### Question:
Extractors { public Extractor<String> string() { return string; } 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 shouldExtractEmptyStringForEmptyQuotedString() { Extractors extractors = new Extractors( ',' ); String value = ""; Extractor<String> extractor = extractors.string(); extractor.extract( value.toCharArray(), 0, value.length(), true ); assertEquals( "", extractor.value() ); }
@Test void shouldExtractNullForEmptyQuotedStringIfConfiguredTo() { Extractors extractors = new Extractors( ';', true ); Extractor<String> extractor = extractors.string(); extractor.extract( new char[0], 0, 0, true ); String extracted = extractor.value(); assertNull( extracted ); }
@Test void shouldCloneExtractor() { Extractors extractors = new Extractors( ';' ); Extractor<String> e1 = extractors.string(); Extractor<String> e2 = e1.clone(); String v1 = "abc"; e1.extract( v1.toCharArray(), 0, v1.length(), false ); assertEquals( v1, e1.value() ); assertNull( e2.value() ); String v2 = "def"; e2.extract( v2.toCharArray(), 0, v2.length(), false ); assertEquals( v2, e2.value() ); assertEquals( v1, e1.value() ); }