@Test
public void testStringAttr() {

  @SuppressWarnings("unused")
  class Clazz extends AttrComposite {
    AttrString attr = attributes.register("attr", AttrString.builder().defaultValue("foo"));
    AttrString attrNull =
        attributes.register("attrNull", AttrString.builder().defaultValue(null));
  }
  ClassInfoCollector collector = new ClassInfoCollector(JvmNameMapper.INSTANCE);
  ClassInfo classInfo = collector.collect(new Clazz());
  Assertions.assertThat(classInfo.attributes)
      .hasEntrySatisfying("attr", info -> Assertions.assertThat(info.value).isEqualTo("foo"))
      .hasEntrySatisfying("attrNull", info -> Assertions.assertThat(info.value).isNull());
}