### Question:
AbstractClientDiagramService implements ClientDiagramService<M, D, S> { @Override public void saveOrUpdateSvg(Path diagramPath, String rawSvg, ServiceCallback<Path> callback) { diagramServiceCaller.call(res -> callback.onSuccess((Path) res)).saveOrUpdateSvg(diagramPath, rawSvg); } AbstractClientDiagramService(final ShapeManager shapeManager,
                                        final SessionManager sessionManager,
                                        final Caller<S> diagramServiceCaller,
                                        final Caller<DiagramLookupService> diagramLookupServiceCaller,
                                        final Event<SessionDiagramSavedEvent> saveEvent); @Override void create(final Path path,
                       final String name,
                       final String defSetId,
                       final ServiceCallback<Path> callback); @Override @SuppressWarnings("unchecked") void saveOrUpdate(final D diagram,
                             final ServiceCallback<D> callback); @Override void saveOrUpdateSvg(Path diagramPath, String rawSvg, ServiceCallback<Path> callback); @Override void add(final D diagram,
                    final ServiceCallback<D> callback); @Override @SuppressWarnings("unchecked") void getByPath(final Path path,
                          final ServiceCallback<D> callback); @Override @SuppressWarnings("unchecked") void lookup(final DiagramLookupRequest request,
                       final ServiceCallback<LookupManager.LookupResponse<DiagramRepresentation>> callback); @Override void getRawContent(final D diagram,
                              final ServiceCallback<String> callback);  }### Answer:
@Test public void testSaveOrUpdateSvg() { final ServiceCallback<Path> callback = mock(ServiceCallback.class); tested.saveOrUpdateSvg(path, RAW_DIAGRAM, callback); verify(diagramService).saveOrUpdateSvg(path, RAW_DIAGRAM); }