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