### Question:
RackInput implements Closeable { public byte[] gets() throws IOException { return readToLinefeed(); } RackInput(InputStream inputStream); byte[] gets(); byte[] read(Integer length); void rewind(); @Override void close();  }### Answer:
@Test public void getsAtEof() throws Exception { assertThat(empty.gets()).isNull(); }
@Test public void gets() throws Exception { assertThat(full.gets()).isEqualTo("Hello,\n".getBytes()); }
@Test public void getsWithCrLf() throws Exception { assertThat(rackInputFor("Hello,\r\nWorld!").gets()).isEqualTo("Hello,\r\n".getBytes()); }
@Test public void getsAgain() throws Exception { full.gets(); assertThat(full.gets()).isEqualTo("World!".getBytes()); }