ApplicationInfo { private ApplicationInfo(final String name, final EdisonApplicationProperties applicationInfoProperties) { if (name.isEmpty()) throw new IllegalArgumentException("name must not be empty"); this.name = name; this.title = applicationInfoProperties.getTitle(); this.description = applicationInfoProperties.getDescription(); this.group = applicationInfoProperties.getGroup(); this.environment = applicationInfoProperties.getEnvironment(); } private  ApplicationInfo(final String name,
                            final EdisonApplicationProperties applicationInfoProperties); static ApplicationInfo applicationInfo(final String serviceName, final EdisonApplicationProperties statusProps); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); final String name; final String title; final String description; final String group; final String environment; }
@Test public void shouldFailToConstructWithOutName() { assertThrows(IllegalArgumentException.class, () -> { applicationInfo("", edisonApplicationProperties("", "", "", "")); }); }