@Test public void testSyncUpdateMain() throws IOException { /* create note */ Note note = notebookSync.createNote(); Paragraph p1 = note.addParagraph(); Map config = p1.getConfig(); config.put("enabled", true); p1.setConfig(config); p1.setText("hello world"); /* new paragraph exists in note instance */ assertEquals(1, note.getParagraphs().size()); /* new paragraph not yet saved into storages */ assertEquals( 0, notebookRepoSync.get(0, notebookRepoSync.list(0).get(0).getId()).getParagraphs().size()); assertEquals( 0, notebookRepoSync.get(1, notebookRepoSync.list(1).get(0).getId()).getParagraphs().size()); /* save to storage under index 0 (first storage) */ notebookRepoSync.save(0, note); /* check paragraph saved to first storage */ assertEquals( 1, notebookRepoSync.get(0, notebookRepoSync.list(0).get(0).getId()).getParagraphs().size()); /* check paragraph isn't saved to second storage */ assertEquals( 0, notebookRepoSync.get(1, notebookRepoSync.list(1).get(0).getId()).getParagraphs().size()); /* apply sync */ notebookRepoSync.sync(); /* check whether added to second storage */ assertEquals( 1, notebookRepoSync.get(1, notebookRepoSync.list(1).get(0).getId()).getParagraphs().size()); /* check whether same paragraph id */ assertEquals( p1.getId(), notebookRepoSync .get(0, notebookRepoSync.list(0).get(0).getId()) .getLastParagraph() .getId()); assertEquals( p1.getId(), notebookRepoSync .get(1, notebookRepoSync.list(1).get(0).getId()) .getLastParagraph() .getId()); }