    @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");
    }