### Question:
StreamingBuilder implements Builder<Streaming> { public StreamingBuilder withRecordReader(final String recordReader) { this.recordReader.set(recordReader); return this; } StreamingBuilder(); StreamingBuilder withMapper(final String mapper); StreamingBuilder withReducer(final String reducer); StreamingBuilder withRecordReader(final String recordReader); StreamingBuilder withRecordReaderMapping(final String recordReaderMapping); StreamingBuilder withEnv(final String env); @Override Streaming build();  }### Answer:
@Test public void testWithRecordReader() { final String recordReaderName = "record-reader-name.sh"; final StreamingBuilder builder = new StreamingBuilder(); builder.withRecordReader(recordReaderName); final Streaming streaming = builder.build(); assertEquals(recordReaderName, streaming.getRecordReader()); }
@Test public void testWithRecordReaderCalledTwiceThrows() { final String recordReaderName1 = "record-reader-name1.sh"; final String recordReaderName2 = "record-reader-name2.sh"; final StreamingBuilder builder = new StreamingBuilder(); builder.withRecordReader(recordReaderName1); expectedException.expect(IllegalStateException.class); builder.withRecordReader(recordReaderName2); }