use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testPromote2.
@Test
public void testPromote2() throws IOException {
Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "** Note 1.2\n" + "* Note 2\n");
Note note = shelf.getNote("Note 1.1.1");
/* Promote 1.1.1 twice. */
assertEquals(1, shelf.promote(book.getId(), note.getId()));
assertEquals(1, shelf.promote(book.getId(), note.getId()));
assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "** Note 1.2\n" + "* Note 1.1.1\n" + "* Note 2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
NotePosition n1 = shelf.getNote("Note 1").getPosition();
NotePosition n11 = shelf.getNote("Note 1.1").getPosition();
NotePosition n12 = shelf.getNote("Note 1.2").getPosition();
NotePosition n111 = shelf.getNote("Note 1.1.1").getPosition();
NotePosition n2 = shelf.getNote("Note 2").getPosition();
assertEquals(2, n1.getDescendantsCount());
assertEquals(0, n11.getDescendantsCount());
assertEquals(0, n12.getDescendantsCount());
assertEquals(0, n111.getDescendantsCount());
assertEquals(0, n2.getDescendantsCount());
assertEquals(1, n1.getLevel());
assertEquals(2, n11.getLevel());
assertEquals(2, n12.getLevel());
assertEquals(1, n111.getLevel());
assertEquals(1, n2.getLevel());
assertTrue(n1.getLft() < n11.getLft());
assertTrue(n11.getLft() < n11.getRgt());
assertTrue(n11.getRgt() < n12.getLft());
assertTrue(n12.getLft() < n12.getRgt());
assertTrue(n12.getRgt() < n1.getRgt());
assertTrue(n1.getRgt() < n111.getLft());
assertTrue(n111.getLft() < n111.getRgt());
assertTrue(n111.getRgt() < n2.getLft());
assertTrue(n2.getLft() < n2.getRgt());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testNewNoteAbove.
@Test
public void testNewNoteAbove() throws IOException {
Book book = shelfTestUtils.setupBook("notebook", "description\n" + "* Note 1\n" + // ** Note 1.0
"** Note 1.1\n" + "*** Note 1.1.1\n" + "** Note 1.2\n");
NotePosition note1, note11, note111, note12, note10;
/* Create new note above Note 1.1. */
Note n = new Note();
n.getPosition().setBookId(book.getId());
n.getHead().setTitle("Note 1.0");
NotePlace target = new NotePlace(book.getId(), shelf.getNote("Note 1.1").getId(), Place.ABOVE);
shelf.createNote(n, target);
note1 = shelf.getNote("Note 1").getPosition();
note10 = shelf.getNote("Note 1.0").getPosition();
note11 = shelf.getNote("Note 1.1").getPosition();
note111 = shelf.getNote("Note 1.1.1").getPosition();
note12 = shelf.getNote("Note 1.2").getPosition();
assertTrue(note1.getLft() < note10.getLft());
assertTrue(note10.getLft() < note10.getRgt());
assertTrue(note10.getRgt() < note11.getLft());
assertTrue(note11.getLft() < note111.getLft());
assertTrue(note111.getLft() < note111.getRgt());
assertTrue(note111.getRgt() < note11.getRgt());
assertTrue(note11.getRgt() < note12.getLft());
assertTrue(note12.getLft() < note12.getRgt());
assertTrue(note12.getRgt() < note1.getRgt());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testInheritedTagsAfterCutAndPaste.
@Test
public void testInheritedTagsAfterCutAndPaste() {
Book book = shelfTestUtils.setupBook("notebook", "* A :a:\n" + "** B :b:\n" + "*** C :c:\n" + "* D :d:\n");
shelf.cut(book.getId(), shelf.getNote("B").getId());
shelf.paste(book.getId(), shelf.getNote("D").getId(), Place.UNDER);
assertEquals(1, shelf.getNoteWithExtras("B").getInheritedTags().size());
assertEquals(2, shelf.getNoteWithExtras("C").getInheritedTags().size());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testCutNoteUnderFoldedThenPaste.
@Test
public void testCutNoteUnderFoldedThenPaste() throws IOException {
Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n");
/* Cut & paste hidden 1.1.1 */
shelf.toggleFoldedState(shelf.getNote("Note 1.1").getId());
shelf.cut(book.getId(), shelf.getNote("Note 1.1.1").getId());
Note n = shelf.getNote("Note 1");
shelf.paste(n.getPosition().getBookId(), n.getId(), Place.UNDER);
assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "** Note 1.1.1\n", shelf.getBookContent("notebook", BookName.Format.ORG));
NotePosition n1 = shelf.getNote("Note 1").getPosition();
NotePosition n11 = shelf.getNote("Note 1.1").getPosition();
NotePosition n111 = shelf.getNote("Note 1.1.1").getPosition();
assertEquals(0, n1.getFoldedUnderId());
assertEquals(0, n11.getFoldedUnderId());
assertEquals(0, n111.getFoldedUnderId());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testNewNote.
@Test
public void testNewNote() throws IOException {
Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n");
Note newNote = new Note();
newNote.getPosition().setBookId(book.getId());
newNote.getHead().setTitle("Note 2");
shelf.createNote(newNote, null);
assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "* Note 2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
assertEquals(shelf.getNote("").getId(), shelf.getNote("Note 2").getPosition().getParentId());
}
Aggregations