@Test
void testMergeSimple() {

    Project newProject = createFromJson(
        "{\"config\":{" +
                "\"name\":\"TestProject\"," +
                "\"dbmses\":[{" +
                    "\"name\":\"TestDbms\"," +
                    "\"schemas\":[{" +
                        "\"name\":\"TestSchema\"," +
                        "\"alias\":\"NewTestSchema\"," +
                        "\"tables\":[{" +
                            "\"name\":\"TestTable1\"," +
                            "\"columns\":[{" +
                                "\"name\":\"TestTable1Column3\"," +
                                "\"databaseType\":\"double\"" +
                            "}]" +
                        "}]" +
                    "}]" +
                "}]" +
            "}}"
    );
    DocumentPropertyComponent docProps = new DocumentPropertyComponentImpl();
    project.merge(docProps, newProject);
    assertEquals("TestProject", project.getName());
    assertEquals("TestDbms", dbms.getName());
    assertEquals("TestSchema", schema.getName());
    assertEquals("NewTestSchema", schema.getAlias().orElse(schema.getName()));
    assertEquals("TestTable1", table1.getName());
    assertEquals("TestTable1Column1", table1Column1.getName());
    assertEquals("TestTable1Column2", table1Column2.getName());
    assertEquals("TestTable1Column3", table1Column3.getName());
    assertEquals("int", table1Column1.getDatabaseType());
    assertEquals("java.lang.String", table1Column2.getDatabaseType());
    assertEquals("double", table1Column3.getDatabaseType());
}