ConfigStatusInfo { public Collection<ConfigStatusMessage> getConfigStatusMessages() { return Collections.unmodifiableCollection(configStatusMessages); } ConfigStatusInfo();  ConfigStatusInfo(Collection<ConfigStatusMessage> configStatusMessages); Collection<ConfigStatusMessage> getConfigStatusMessages(); Collection<ConfigStatusMessage> getConfigStatusMessages(Type... types); Collection<ConfigStatusMessage> getConfigStatusMessages(String... parameterNames); Collection<ConfigStatusMessage> getConfigStatusMessages(final Collection<Type> types,
            final Collection<String> parameterNames); void add(ConfigStatusMessage configStatusMessage); void add(Collection<ConfigStatusMessage> configStatusMessages); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }
@Test public void assertCorrectConfigErrorHandlingForEmptyResultObject() { ConfigStatusInfo info = new ConfigStatusInfo(); assertThat(info.getConfigStatusMessages().size(), is(0)); }
@Test public void assertNPEisThrownIfTypesAreNull() { ConfigStatusInfo info = new ConfigStatusInfo(); assertThrows(NullPointerException.class, () -> info.getConfigStatusMessages(null, emptySet())); }
@Test public void assertNPEisThrownIfParameterNamesAreNull() { ConfigStatusInfo info = new ConfigStatusInfo(); assertThrows(NullPointerException.class, () -> info.getConfigStatusMessages(emptySet(), null)); }