### Question:
MergeBasicProcessorOptions extends ProcessorOptions { public MergeBasicProcessorOptions() { } MergeBasicProcessorOptions();  MergeBasicProcessorOptions(MergeBasicProcessorOptions other);  MergeBasicProcessorOptions(ProcessorOptions other);  MergeBasicProcessorOptions(JsonObject config); JsonObject getOperations(); MergeBasicProcessorOptions setOperations(JsonObject operations); JsonObject getOnFlush(); MergeBasicProcessorOptions setOnFlush(JsonObject onFlush); Long getDefaultCapacity(); MergeBasicProcessorOptions setDefaultCapacity(Long defaultCapacity); @Override String getName(); @Override MergeBasicProcessorOptions setName(String name); @Override String getType(); @Override MergeBasicProcessorOptions setType(String type); @Override Integer getInstances(); @Override MergeBasicProcessorOptions setInstances(Integer instances); @Override JsonObject toJson(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static final JsonObject DEFAULT_EXTRACT; }### Answer:
@Test @DisplayName("Validate Merge basic options") void testMergeBasicProcessorOptions() { new MergeBasicProcessorOptionsConverter(); String badStr = "{\"name\": 10, \"type\": 20, \"fields\": false}"; String optStr = "{\"instances\":1,\"name\":\"name\",\"type\":\"type\",\"defaultCapacity\":100,\"onFlush\":{},\"operations\":{}}"; ProcessorOptions optPump = new ProcessorOptions(new JsonObject(optStr)); MergeBasicProcessorOptions optNull = new MergeBasicProcessorOptions() .setName(null) .setType(null) .setDefaultCapacity(null) .setOnFlush(null) .setOperations(null); MergeBasicProcessorOptions optObj = new MergeBasicProcessorOptions() .setName("name") .setType("type") .setDefaultCapacity(100L); JsonObject optJson = new JsonObject(optStr); assertThat(new MergeBasicProcessorOptions(new JsonObject(badStr))).isEqualTo(new MergeBasicProcessorOptions()); assertThat(optNull.toJson()).isEqualTo(obj().put("instances", 1)); assertThat(optObj).isEqualTo(optObj); assertThat(optObj).isNotEqualTo(optNull); assertThat(optObj).isEqualTo(new MergeBasicProcessorOptions(optJson)); assertThat(optObj).isEqualTo(new MergeBasicProcessorOptions(optObj)); assertThat(optObj.toString()).isEqualTo(new MergeBasicProcessorOptions(optJson).toString()); assertThat(optObj.hashCode()).isEqualTo(new MergeBasicProcessorOptions(optJson).hashCode()); assertThat(optObj).isNotEqualTo(null); assertThat(optObj).isNotEqualTo(new Object()); assertThat(optObj.toJson()).isEqualTo(optJson); assertThat(optPump) .isEqualToComparingOnlyGivenFields(new MergeBasicProcessorOptions(optPump), "name", "type"); }