### Question:
AbstractValueFactory implements ValueFactory<T> { protected ValueFactory<String> getStringValueFactory() { return this.stringValueFactory; } protected  AbstractValueFactory( PropertyType type,
                                    TextDecoder decoder,
                                    ValueFactory<String> stringValueFactory ); TextDecoder getDecoder(); PropertyType getPropertyType(); T create( Object value ); T[] create( BigDecimal[] values ); T[] create( boolean[] values ); T[] create( byte[][] values ); T[] create( Calendar[] values ); T[] create( Date[] values ); T[] create( DateTime[] values ); T[] create( double[] values ); T[] create( float[] values ); T[] create( int[] values ); T[] create( long[] values ); T[] create( Name[] values ); T[] create( Object[] values ); T[] create( Path[] values ); T[] create( Reference[] values ); T[] create( String[] values,
                       TextDecoder decoder ); T[] create( String[] values ); T[] create( URI[] values ); T[] create( UUID[] values ); T[] create( Binary[] values ); Iterator<T> create( Iterator<?> values ); Iterable<T> create( final Iterable<?> valueIterable );  }### Answer:
@Test public void shouldHaveNullStringValueFactoryIfNullPassedIntoConstructor() { assertThat(factory.getStringValueFactory(), is(nullValue())); }