### Question:
ServerStreamingMethodHandlerSupplier extends AbstractMethodHandlerSupplier { @Override public boolean supplies(AnnotatedMethod method) { return super.supplies(method) && determineCallType(method) != CallType.unknown; } ServerStreamingMethodHandlerSupplier(); @Override boolean supplies(AnnotatedMethod method); @Override MethodHandler<ReqT, RespT> get(String methodName, AnnotatedMethod method, Supplier<?> instance);  }### Answer:
@Test public void shouldSupplyServerStreamingMethods() { ServerStreamingMethodHandlerSupplier supplier = new ServerStreamingMethodHandlerSupplier(); AnnotatedMethod method = getServerStreamingMethod(); assertThat(supplier.supplies(method), is(true)); }
@Test public void shouldNotSupplyNullMethod() { ServerStreamingMethodHandlerSupplier supplier = new ServerStreamingMethodHandlerSupplier(); assertThat(supplier.supplies(null), is(false)); }
@Test public void shouldNotSupplyMethodAnnotatedMethodWithInvalidSignature() { ServerStreamingMethodHandlerSupplier supplier = new ServerStreamingMethodHandlerSupplier(); AnnotatedMethod method = getMethod("badArg", String.class, String.class); assertThat(supplier.supplies(method), is(false)); }
@Test public void shouldNotSupplyBidiStreamingMethods() { ServerStreamingMethodHandlerSupplier supplier = new ServerStreamingMethodHandlerSupplier(); AnnotatedMethod method = getBidiMethod(); assertThat(supplier.supplies(method), is(false)); }
@Test public void shouldNotSupplyUnaryMethods() { ServerStreamingMethodHandlerSupplier supplier = new ServerStreamingMethodHandlerSupplier(); AnnotatedMethod method = getUnaryMethod(); assertThat(supplier.supplies(method), is(false)); }
@Test public void shouldNotSupplyClientStreamingMethods() { ServerStreamingMethodHandlerSupplier supplier = new ServerStreamingMethodHandlerSupplier(); AnnotatedMethod method = getClientStreamingMethod(); assertThat(supplier.supplies(method), is(false)); }