### Question:
AdminServer extends Server { public AdminService getAdminService() { return adminService; }  AdminServer withChannel(String channelName, int nodePort); List<String> getChannelNames(); List<Channel> getChannels(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); AdminService createAdminService(); AdminService getAdminService();  }### Answer:
@Test public void whenConstructedWithAdminService_mayAddLabels() { configureAdminServer() .configureAdminService() .withServiceLabel(NAME1, VALUE1) .withServiceLabel(NAME2, VALUE2); assertThat( domain.getAdminServerSpec().getAdminService().getLabels(), both(hasEntry(NAME1, VALUE1)).and(hasEntry(NAME2, VALUE2))); }
@Test public void whenConstructedWithAdminService_mayAddAnnotations() { configureAdminServer() .configureAdminService() .withServiceAnnotation(NAME1, VALUE1) .withServiceAnnotation(NAME2, VALUE2); assertThat( domain.getAdminServerSpec().getAdminService().getAnnotations(), both(hasEntry(NAME1, VALUE1)).and(hasEntry(NAME2, VALUE2))); }
@Test public void callingGetAdminService_doesNotChangeTheObject() { server1.getAdminService(); assertThat(server1, equalTo(server2)); }