### Question:
ZipkinTracer extends AbstractTracer { @Override public void startCall(RequestUUID uuid, RequestUUID subUuid, OperationKey operationKey) { ZipkinData zipkinData = buildZipkinDataIfEnabled(subUuid, operationKey); if (zipkinData != null) { zipkinEmitter.emitClientSend(zipkinData); } }  @Override void start(RequestUUID uuid, OperationKey operationKey); @Override void trace(RequestUUID uuid, String msg); @Override void trace(RequestUUID uuid, String msg, Object arg1); @Override void trace(RequestUUID uuid, String msg, Object arg1, Object arg2); @Override void trace(RequestUUID uuid, String msg, Object arg1, Object arg2, Object arg3); @Override void trace(RequestUUID uuid, String msg, Object... args); @Override void end(RequestUUID uuid); @Override void startCall(RequestUUID uuid, RequestUUID subUuid, OperationKey operationKey); @Override void endCall(RequestUUID uuid, RequestUUID subUuid, OperationKey operationKey); void setZipkinEmitter(@Nonnull ZipkinEmitter zipkinEmitter);  }### Answer:
@Test public void startCall_WhenZipkinTracingIsEnabled_ShouldEmitClientSend() { when(requestUUID.isZipkinTracingEnabled()).thenReturn(true); when(requestUUID.getZipkinData()).thenReturn(zipkinData); victim.startCall(null, requestUUID, operationKey); verify(zipkinEmitter).emitClientSend(zipkinData); }
@Test public void startCall_WhenZipkinTracingIsNotEnabled_ShouldNotEmitAnything() { when(requestUUID.isZipkinTracingEnabled()).thenReturn(false); victim.startCall(null, requestUUID, operationKey); verifyZeroInteractions(zipkinEmitter); }