DataSource implements IConfig, Serializable { public static Formatters.@NonNull Formatter<DataSource> uriFormatter() { return URI_FORMATTER; } @VisibleForTesting  DataSource(@NonNull String providerName, @NonNull String version, @NonNull ImmutableSortedMap<String, String> params); @NonNull String getProviderName(); @NonNull String getVersion(); @Override SortedMap<String, String> getParams(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); @NonNull Builder toBuilder(); @NonNull static DataSource of(@NonNull String providerName, @NonNull String version); @NonNull static DataSource of(@NonNull String providerName, @NonNull String version, @NonNull String key, @NonNull String value); @NonNull static DataSource deepCopyOf(@NonNull String providerName, @NonNull String version, @NonNull Map<String, String> params); @NonNull static Builder builder(@NonNull String providerName, @NonNull String version); @Deprecated @NonNull static Builder builder(@NonNull DataSource dataSource); static Formatters.@NonNull Formatter<DataSource> xmlFormatter(boolean formattedOutput); static Parsers.@NonNull Parser<DataSource> xmlParser(); static Formatters.@NonNull Formatter<DataSource> uriFormatter(); static Parsers.@NonNull Parser<DataSource> uriParser();  }
@Test public void testUriFormatter() { IFormatter<DataSource> formatter = DataSource.uriFormatter(); assertThat(formatter.format(newSample())) .isNotEmpty() .isEqualTo(formatter.format(newSample())) .isEqualTo(formatter.format(new DataSource(PNAME, VERSION, ImmutableSortedMap.of(K3, V3, K2, V2, K1, V1)))) .isNotEqualTo(formatter.format(ZERO)) .startsWith("demetra: }