Search in sources :

Example 11 with Note

use of com.orgzly.android.Note in project orgzly-android by orgzly.

the class StructureTest method testPromote.

@Test
public void testPromote() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "* Note 2\n");
    Note note = shelf.getNote("Note 1.1");
    /* TODO: Assert 0 if trying to promote level 1 note. */
    assertEquals(1, shelf.promote(book.getId(), note.getId()));
    assertEquals("description\n" + "\n" + "* Note 1\n" + "* Note 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 n2 = shelf.getNote("Note 2").getPosition();
    assertEquals(0, n1.getDescendantsCount());
    assertEquals(0, n11.getDescendantsCount());
    assertEquals(0, n2.getDescendantsCount());
    assertEquals(1, n1.getLevel());
    assertEquals(1, n11.getLevel());
    assertEquals(1, n2.getLevel());
    assertTrue(n1.getLft() < n1.getRgt());
    assertTrue(n1.getRgt() < n11.getLft());
    assertTrue(n11.getLft() < n11.getRgt());
    assertTrue(n11.getRgt() < n2.getLft());
    assertTrue(n2.getLft() < n2.getRgt());
}
Also used : Book(com.orgzly.android.Book) NotePosition(com.orgzly.android.NotePosition) Note(com.orgzly.android.Note) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 12 with Note

use of com.orgzly.android.Note in project orgzly-android by orgzly.

the class StructureTest method testNewBelowFoldable.

@Test
public void testNewBelowFoldable() 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, new NotePlace(book.getId(), shelf.getNote("Note 1").getId(), Place.BELOW));
    assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 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 n2 = shelf.getNote("Note 2").getPosition();
    assertTrue(n1.getLft() < n11.getLft());
    assertTrue(n11.getLft() < n11.getRgt());
    assertTrue(n11.getRgt() < n1.getRgt());
    assertTrue(n1.getRgt() < n2.getLft());
    assertTrue(n2.getLft() < n2.getRgt());
    assertEquals(0, n2.getDescendantsCount());
    assertEquals(shelf.getNote("").getId(), n2.getParentId());
}
Also used : Book(com.orgzly.android.Book) NotePosition(com.orgzly.android.NotePosition) Note(com.orgzly.android.Note) NotePlace(com.orgzly.android.ui.NotePlace) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 13 with Note

use of com.orgzly.android.Note in project orgzly-android by orgzly.

the class StructureTest method testCutChildCutParentThenPaste.

@Test
public void testCutChildCutParentThenPaste() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "* Note 2\n");
    shelf.cut(book.getId(), shelf.getNote("Note 1.1").getId());
    shelf.cut(book.getId(), shelf.getNote("Note 1").getId());
    Note n = shelf.getNote("Note 2");
    shelf.paste(n.getPosition().getBookId(), n.getId(), Place.UNDER);
    assertEquals("description\n" + "\n" + "* Note 2\n" + "** Note 1\n", shelf.getBookContent("notebook", BookName.Format.ORG));
}
Also used : Book(com.orgzly.android.Book) Note(com.orgzly.android.Note) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 14 with Note

use of com.orgzly.android.Note in project orgzly-android by orgzly.

the class StructureTest method testPasteUnderFolded.

@Test
public void testPasteUnderFolded() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "*** Note 1.1.2\n" + "** Note 1.2\n" + "* Note 2\n");
    /* Cut & paste 2 under folded 1.1. */
    shelf.cut(book.getId(), shelf.getNote("Note 2").getId());
    shelf.toggleFoldedState(shelf.getNote("Note 1.1").getId());
    Note n = shelf.getNote("Note 1.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" + "*** Note 1.1.2\n" + "*** Note 2\n" + "** Note 1.2\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();
    NotePosition n112 = shelf.getNote("Note 1.1.2").getPosition();
    NotePosition n2 = shelf.getNote("Note 2").getPosition();
    NotePosition n12 = shelf.getNote("Note 1.2").getPosition();
    assertEquals(shelf.getNote("Note 1.1").getId(), n2.getParentId());
    assertEquals(1, n1.getLevel());
    assertEquals(2, n11.getLevel());
    assertEquals(3, n111.getLevel());
    assertEquals(3, n112.getLevel());
    assertEquals(3, n2.getLevel());
    assertEquals(2, n12.getLevel());
    assertTrue(n1.getLft() < n11.getLft());
    assertTrue(n11.getLft() < n111.getLft());
    assertTrue(n111.getLft() < n111.getRgt());
    assertTrue(n111.getLft() < n111.getRgt());
    assertTrue(n111.getRgt() < n112.getLft());
    assertTrue(n112.getLft() < n112.getRgt());
    assertTrue(n112.getRgt() < n2.getLft());
    assertTrue(n2.getLft() < n2.getRgt());
    assertTrue(n2.getRgt() < n11.getRgt());
    assertTrue(n11.getRgt() < n12.getLft());
    assertTrue(n12.getLft() < n12.getRgt());
    assertTrue(n12.getRgt() < n1.getRgt());
    assertEquals(5, n1.getDescendantsCount());
    assertEquals(3, n11.getDescendantsCount());
    assertEquals(0, n111.getDescendantsCount());
    assertEquals(0, n112.getDescendantsCount());
    assertEquals(0, n2.getDescendantsCount());
    assertEquals(0, n12.getDescendantsCount());
    assertEquals(0, n1.getFoldedUnderId());
    assertEquals(0, n11.getFoldedUnderId());
    assertEquals(shelf.getNote("Note 1.1").getId(), n111.getFoldedUnderId());
    assertEquals(shelf.getNote("Note 1.1").getId(), n112.getFoldedUnderId());
    assertEquals(shelf.getNote("Note 1.1").getId(), n2.getFoldedUnderId());
    assertEquals(0, n12.getFoldedUnderId());
}
Also used : Book(com.orgzly.android.Book) NotePosition(com.orgzly.android.NotePosition) Note(com.orgzly.android.Note) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 15 with Note

use of com.orgzly.android.Note in project orgzly-android by orgzly.

the class StructureTest method testNewNoteUnder.

@Test
public void testNewNoteUnder() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "description\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "** Note 1.2\n");
    NotePosition note1, note11, note111, note12, note112;
    note1 = shelf.getNote("Note 1").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() < 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());
    assertEquals(3, note1.getDescendantsCount());
    assertEquals(1, note11.getDescendantsCount());
    assertEquals(0, note111.getDescendantsCount());
    assertEquals(0, note12.getDescendantsCount());
    /* Create new note under Note 1.1. */
    Note n = new Note();
    n.getPosition().setBookId(book.getId());
    n.getHead().setTitle("Note 1.1.2");
    NotePlace target = new NotePlace(book.getId(), shelf.getNote("Note 1.1").getId(), Place.UNDER);
    shelf.createNote(n, target);
    note1 = shelf.getNote("Note 1").getPosition();
    note11 = shelf.getNote("Note 1.1").getPosition();
    note111 = shelf.getNote("Note 1.1.1").getPosition();
    note112 = shelf.getNote("Note 1.1.2").getPosition();
    note12 = shelf.getNote("Note 1.2").getPosition();
    assertTrue(note1.getLft() < note11.getLft());
    assertTrue(note11.getLft() < note111.getLft());
    assertTrue(note111.getLft() < note111.getRgt());
    assertTrue(note111.getRgt() < note112.getLft());
    assertTrue(note112.getLft() < note112.getRgt());
    assertTrue(note112.getRgt() < note11.getRgt());
    assertTrue(note11.getRgt() < note12.getLft());
    assertTrue(note12.getLft() < note12.getRgt());
    assertTrue(note12.getRgt() < note1.getRgt());
    assertEquals(4, note1.getDescendantsCount());
    assertEquals(2, note11.getDescendantsCount());
    assertEquals(0, note111.getDescendantsCount());
    assertEquals(0, note112.getDescendantsCount());
    assertEquals(0, note12.getDescendantsCount());
}
Also used : Book(com.orgzly.android.Book) NotePosition(com.orgzly.android.NotePosition) Note(com.orgzly.android.Note) NotePlace(com.orgzly.android.ui.NotePlace) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Aggregations

Note (com.orgzly.android.Note)29 OrgzlyTest (com.orgzly.android.OrgzlyTest)21 Test (org.junit.Test)21 Book (com.orgzly.android.Book)18 NotePosition (com.orgzly.android.NotePosition)11 NotePlace (com.orgzly.android.ui.NotePlace)4 OrgHead (com.orgzly.org.OrgHead)4 DbNote (com.orgzly.android.provider.models.DbNote)3 Intent (android.content.Intent)2 Cursor (android.database.Cursor)2 AppIntent (com.orgzly.android.AppIntent)2 Shelf (com.orgzly.android.Shelf)2 ContentValues (android.content.ContentValues)1 OrgProperties (com.orgzly.org.OrgProperties)1 OrgRange (com.orgzly.org.datetime.OrgRange)1 HashSet (java.util.HashSet)1