### Question:
FirebaseDynamicLinksImpl extends FirebaseDynamicLinks { @Override public DynamicLink.Builder createDynamicLink() { return new DynamicLink.Builder(this); } FirebaseDynamicLinksImpl(FirebaseApp firebaseApp, @Nullable AnalyticsConnector analytics); @VisibleForTesting  FirebaseDynamicLinksImpl(
      GoogleApi<NoOptions> googleApi, @Nullable AnalyticsConnector analytics); PendingDynamicLinkData getPendingDynamicLinkData(@NonNull Intent intent); @Override Task<PendingDynamicLinkData> getDynamicLink(@NonNull final Intent intent); @Override Task<PendingDynamicLinkData> getDynamicLink(@NonNull final Uri dynamicLinkUri); @Override DynamicLink.Builder createDynamicLink(); static Uri createDynamicLink(Bundle builderParameters); Task<ShortDynamicLink> createShortDynamicLink(final Bundle builderParameters); static void verifyDomainUriPrefix(Bundle builderParameters); static final String KEY_SCION_DATA; static final String EXTRA_DYNAMIC_LINK_DATA; }### Answer:
@Test public void testCreateDynamicLink() { assertNotNull(api.createDynamicLink()); }
@Test public void testCreateDynamicLink_Bundle_LongLink() { Uri dynamicLink = FirebaseDynamicLinksImpl.createDynamicLink(createDynamicLinkBundle()); assertEquals(LONG_LINK, dynamicLink.toString()); }
@Test public void testCreateDynamicLink_Bundle_Parameters() { Bundle builderParameters = new Bundle(); builderParameters.putString(Builder.KEY_DOMAIN_URI_PREFIX, DOMAIN); Bundle fdlParameters = new Bundle(); fdlParameters.putString(PARAMETER, VALUE); builderParameters.putBundle(Builder.KEY_DYNAMIC_LINK_PARAMETERS, fdlParameters); Uri dynamicLink = FirebaseDynamicLinksImpl.createDynamicLink(builderParameters); assertEquals(FDL_SCHEME, dynamicLink.getScheme()); assertEquals(AUTHORITY, dynamicLink.getAuthority()); assertEquals(VALUE, dynamicLink.getQueryParameter(PARAMETER)); }