NPipeSocketImpl extends SocketImpl { @Override protected void shutdownInput() throws IOException { lock.run(() -> { if (input != null) { input.shutdown(); } }); }  @Override void setOption(int optID, Object value); @Override Object getOption(int optID); boolean isClosed();  }
@Test public void shutdownInput() throws IOException { NPipeSocketImpl impl = new NPipeSocketImpl(); connect(impl); impl.shutdownInput(); PipeChannelInputStream inputStream = (PipeChannelInputStream) impl.getInputStream(); assertThat(inputStream.isShutdown()).isFalse(); impl.shutdownInput(); assertThat(inputStream.isShutdown()).isTrue(); }