### Question:
SessionCallbackProxy implements IWebView.Callback { @Override public void onURLChanged(@NonNull String url) { session.setUrl(url); } SessionCallbackProxy(Session session, IWebView.Callback delegate); @Override void onPageStarted(@NonNull String url); @Override void onPageFinished(boolean isSecure); @Override void onProgress(int progress); @Override void onURLChanged(@NonNull String url); @Override void onRequest(boolean isTriggeredByUserGesture); @Override void onBlockingStateChanged(boolean isBlockingEnabled); @Override void onLongPress(@NonNull IWebView.HitTarget hitTarget); @Override void onShouldInterceptRequest(String url); @Override void onEnterFullScreen(@NonNull IWebView.FullscreenCallback callback, @Nullable View view); @Override void onExitFullScreen();  }### Answer:
@Test public void testOnUrlChanged() { final Session session = mock(Session.class); final SessionCallbackProxy proxy = new SessionCallbackProxy(session, mock(IWebView.Callback.class)); proxy.onURLChanged(TEST_URL); verify(session).setUrl(TEST_URL); }