### Question:
FailingClientStream extends NoopClientStream { @Override public void start(ClientStreamListener listener) { Preconditions.checkState(!started, "already started"); started = true; listener.closed(error, rpcProgress, new Metadata()); } FailingClientStream(Status error);  FailingClientStream(Status error, RpcProgress rpcProgress); @Override void start(ClientStreamListener listener);  }### Answer:
@Test public void processedRpcProgressPopulatedToListener() { ClientStreamListener listener = mock(ClientStreamListener.class); Status status = Status.UNAVAILABLE; ClientStream stream = new FailingClientStream(status); stream.start(listener); verify(listener).closed(eq(status), eq(RpcProgress.PROCESSED), any(Metadata.class)); }
@Test public void droppedRpcProgressPopulatedToListener() { ClientStreamListener listener = mock(ClientStreamListener.class); Status status = Status.UNAVAILABLE; ClientStream stream = new FailingClientStream(status, RpcProgress.DROPPED); stream.start(listener); verify(listener).closed(eq(status), eq(RpcProgress.DROPPED), any(Metadata.class)); }