### Question:
DefaultId implements Id { @Override public String name() { return name; } DefaultId(String name);   DefaultId(String name, ArrayTagSet tags); @Override String name(); @Override Iterable<Tag> tags(); @Override DefaultId withTag(Tag tag); @Override DefaultId withTag(String key, String value); @Override DefaultId withTags(String... ts); @Override DefaultId withTags(Tag... ts); @Override DefaultId withTags(Iterable<Tag> ts); @Override DefaultId withTags(Map<String, String> ts); @Override String getKey(int i); @Override String getValue(int i); @Override int size(); @Override Id filter(BiPredicate<String, String> predicate); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testName() { Id id = new DefaultId("foo"); Assertions.assertEquals(id.name(), "foo"); }