### Question:
CustomElement { public void set(T value) { if (value != null && !value.equals(elementDefinition.getDefaultValue())) { elementDefinition.setValue(element, value); } } CustomElement(ElementDefinition<T> elementDefinition, BaseElement element); T get(); void set(T value); static final MetadataTypeDefinition<Boolean> async; static final MetadataTypeDefinition<Boolean> autoStart; static final MetadataTypeDefinition<Boolean> autoConnectionSource; static final MetadataTypeDefinition<Boolean> autoConnectionTarget; static final MetadataTypeDefinition<String> customTags; static final MetadataTypeDefinition<String> description; static final MetadataTypeDefinition<String> scope; static final MetadataTypeDefinition<String> name; static final MetadataTypeDefinition<String> caseIdPrefix; static final MetadataTypeDefinition<String> caseRole; static final MetadataTypeDefinition<String> slaDueDate; static final GlobalVariablesElement globalVariables; static final MetaDataAttributesElement metaDataAttributes; static final MetadataTypeDefinition<Boolean> isCase; static final MetadataTypeDefinition<String> customActivationCondition; static final MetadataTypeDefinition<Boolean> abortParent; static final DefaultImportsElement defaultImports; }### Answer:
@Test public void testSetNonDefaultValue() { Object newValue = new Object(); CustomElement<Object> customElement = new CustomElement<>(elementDefinition, baseElement); customElement.set(newValue); assertEquals(newValue, elementDefinition.getValue(baseElement)); }