    @Test
    public void migrateV2ToV3() {

        JsonNode testJsonResource = parseJson(JSON_RESOURCE_2);

        boolean wasMigrated = new DmnJsonConverterUtil().migrateModelV3(testJsonResource, OBJECT_MAPPER);

        assertThat(wasMigrated).isTrue();
        assertThat(testJsonResource.get("modelVersion").asText()).isEqualTo("3");

        DmnDefinition dmnDefinition = new DmnJsonConverter().convertToDmn(testJsonResource, "abc", 1, new Date());
        DecisionTable decisionTable = (DecisionTable) dmnDefinition.getDecisions().get(0).getExpression();

        assertThat(decisionTable.getRules().get(0).getInputEntries().get(0).getInputEntry().getText()).isEqualTo("${collection:noneOf(collection1, '\"TEST1\",\"TEST2\"')}");
        assertThat(decisionTable.getRules().get(0).getInputEntries().get(1).getInputEntry().getText()).isEqualTo("${collection:noneOf('\"TEST1\",\"TEST2\"', input2)}");

        assertThat(decisionTable.getRules().get(1).getInputEntries().get(0).getInputEntry().getText()).isEqualTo("${collection:notAllOf(collection1, '\"TEST1\",\"TEST5\"')}");
        assertThat(decisionTable.getRules().get(1).getInputEntries().get(1).getInputEntry().getText()).isEqualTo("${collection:noneOf('\"TEST1\",\"TEST5\"', input2)}");

        assertThat(decisionTable.getRules().get(2).getInputEntries().get(0).getInputEntry().getText()).isEqualTo("${collection:anyOf(collection1, '\"TEST1\",\"TEST6\"')}");
        assertThat(decisionTable.getRules().get(2).getInputEntries().get(1).getInputEntry().getText()).isEqualTo("${collection:allOf('\"TEST1\",\"TEST6\"', input2)}");

        assertThat(decisionTable.getRules().get(3).getInputEntries().get(0).getInputEntry().getText()).isEqualTo("${collection:allOf(collection1, \"TEST1\")}");
        assertThat(decisionTable.getRules().get(3).getInputEntries().get(1).getInputEntry().getText()).isEqualTo("${collection:allOf('\"TEST1\",\"TEST6\"', input2)}");
    }