### Question:
RadioComponent extends FieldComponent { @Override public Resource buildComponentResource() { AbstractResourceImpl component = (AbstractResourceImpl) super.buildComponentResource(); AbstractResourceImpl options = new AbstractResourceImpl("items", null, null, new ResourceMetadata()); component.addChild(options); String defaultValue = getOption("default").orElse(null); getOptions().forEach((value, name) -> { final ResourceMetadata meta = new ResourceMetadata(); final String nodeName = JcrUtil.escapeIllegalJcrChars(value); if (value.equals(defaultValue)) { meta.put("checked", true); } meta.put("name", getName()); meta.put("value", value); if (name.contains("::")) { String description = StringUtils.substringAfter(name, DESCRIPTION_DELIMITER); meta.put("title", description); name = StringUtils.substringBefore(name, DESCRIPTION_DELIMITER); } meta.put("text", name); AbstractResourceImpl option = new AbstractResourceImpl("option_" + nodeName, "granite/ui/components/foundation/form/radio", "granite/ui/components/foundation/form/field", meta); options.addChild(option); }); return component; }  @Override void init(); @Override Resource buildComponentResource(); abstract Map<String, String> getOptions();  }### Answer:
@Test public void testRadioComponentDoesntSetFieldLabelOrDescription() { when(formField.options()).thenReturn(new String[0]); when(formField.name()).thenReturn("NAME"); when(formField.description()).thenReturn("DESCRIPTION"); RadioComponent cmp = new RadioComponent() { @Override public Map<String, String> getOptions() { return new HashMap<String, String>() { { put("v1", "t1"); put("v2", "t2"); put("v3", "t3"); } }; } }; cmp.setup("test", null, formField, sling); Resource r = cmp.buildComponentResource(); ValueMap map = r.getValueMap(); assertEquals("NAME", map.get("text")); assertFalse(map.containsKey("fieldLabel")); assertFalse(map.containsKey("fieldDescription")); }