@Test
public void testBooleanAttr() {

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