@Test
  public void whenCreatedUsingBuilder_thenAllCallbacksInformedOfEvents() {
    SnackbarCombinedCallback actual =
        SnackbarCombinedCallback.builder()
            .callback(callback)
            .snackbarCallback(snackbarCallback)
            .showCallback(showCallback)
            .dismissCallback(dismissCallback)
            .actionDismissCallback(actionDismissCallback)
            .swipeDismissCallback(swipeDismissCallback)
            .timeoutDismissCallback(timeoutDismissCallback)
            .manualDismissCallback(manualDismissCallback)
            .consecutiveDismissCallback(consecutiveDismissCallback)
            .build();

    actual.onShown(snackbar);
    actual.onDismissed(snackbar, Callback.DISMISS_EVENT_ACTION);
    actual.onDismissed(snackbar, Callback.DISMISS_EVENT_SWIPE);
    actual.onDismissed(snackbar, Callback.DISMISS_EVENT_TIMEOUT);
    actual.onDismissed(snackbar, Callback.DISMISS_EVENT_MANUAL);
    actual.onDismissed(snackbar, Callback.DISMISS_EVENT_CONSECUTIVE);

    verify(callback).onShown(snackbar);
    verify(snackbarCallback).onSnackbarShown(snackbar);
    verify(showCallback).onSnackbarShown(snackbar);
    verify(dismissCallback).onSnackbarDismissed(snackbar, Callback.DISMISS_EVENT_ACTION);
    verify(dismissCallback).onSnackbarDismissed(snackbar, Callback.DISMISS_EVENT_SWIPE);
    verify(dismissCallback).onSnackbarDismissed(snackbar, Callback.DISMISS_EVENT_TIMEOUT);
    verify(dismissCallback).onSnackbarDismissed(snackbar, Callback.DISMISS_EVENT_MANUAL);
    verify(dismissCallback).onSnackbarDismissed(snackbar, Callback.DISMISS_EVENT_CONSECUTIVE);
    verify(actionDismissCallback).onSnackbarActionPressed(snackbar);
    verify(swipeDismissCallback).onSnackbarSwiped(snackbar);
    verify(timeoutDismissCallback).onSnackbarTimedOut(snackbar);
    verify(manualDismissCallback).onSnackbarManuallyDismissed(snackbar);
    verify(consecutiveDismissCallback).onSnackbarDismissedAfterAnotherShown(snackbar);
  }