### Question:
ZipkinExecutionContextResolverFactory implements DehydratedExecutionContextResolverFactory { @Override public <T, B> DehydratedExecutionContextResolver<T, B>[] resolvers(Protocol protocol) { if (protocol.underlyingTransportIsHttp() && httpRequestResolver != null) { return new DehydratedExecutionContextResolver[]{ httpRequestResolver }; } if (protocol == Protocol.SOCKET && socketRequestResolver != null) { return new DehydratedExecutionContextResolver[]{ socketRequestResolver }; } return null; }  void setHttpRequestResolver(DehydratedExecutionContextResolver httpRequestResolver); void setSocketRequestResolver(DehydratedExecutionContextResolver socketRequestResolver); @Override DehydratedExecutionContextResolver<T, B>[] resolvers(Protocol protocol); @Override String getName();  }### Answer:
@Test public void resolvers_WhenUnderlyingTransportIsHttp_ShouldReturnZipkinHttpRequestUuidResolver() { Protocol protocol = Protocol.RESCRIPT; DehydratedExecutionContextResolver[] result = victim.resolvers(protocol); assertArrayEquals(new DehydratedExecutionContextResolver[]{httpRequestResolver}, result); }
@Test public void resolvers_WhenProtocolIsSocket_ShouldReturnZipkinSocketRequestUuidResolver() { Protocol protocol = Protocol.SOCKET; DehydratedExecutionContextResolver[] result = victim.resolvers(protocol); assertArrayEquals(new DehydratedExecutionContextResolver[]{socketRequestResolver}, result); }
@Test public void resolvers_WhenProtocolIsNotHttpNorSocketBased_ShouldReturnNull() { Protocol protocol = Protocol.IN_PROCESS; DehydratedExecutionContextResolver[] result = victim.resolvers(protocol); assertNull(result); }