Search in sources :

Example 6 with Note

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

the class StructureTest method testPasteUnder.

@Test
public void testPasteUnder() 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 1.2.1\n" + "*** Note 1.2.2\n" + "* Note 2\n");
    /* Cut & paste 1.1 under 1.2. */
    shelf.cut(book.getId(), shelf.getNote("Note 1.1").getId());
    Note n = shelf.getNote("Note 1.2");
    shelf.paste(n.getPosition().getBookId(), n.getId(), Place.UNDER);
    assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.2\n" + "*** Note 1.2.1\n" + "*** Note 1.2.2\n" + "*** Note 1.1\n" + "**** Note 1.1.1\n" + "* Note 2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
    NotePosition n1 = shelf.getNote("Note 1").getPosition();
    NotePosition n12 = shelf.getNote("Note 1.2").getPosition();
    NotePosition n121 = shelf.getNote("Note 1.2.1").getPosition();
    NotePosition n122 = shelf.getNote("Note 1.2.2").getPosition();
    NotePosition n11 = shelf.getNote("Note 1.1").getPosition();
    NotePosition n111 = shelf.getNote("Note 1.1.1").getPosition();
    NotePosition n2 = shelf.getNote("Note 2").getPosition();
    assertEquals(shelf.getNote("Note 1.2").getId(), n11.getParentId());
    assertEquals(1, n1.getLevel());
    assertEquals(2, n12.getLevel());
    assertEquals(3, n121.getLevel());
    assertEquals(3, n122.getLevel());
    assertEquals(3, n11.getLevel());
    assertEquals(4, n111.getLevel());
    assertEquals(1, n2.getLevel());
    assertTrue(n1.getLft() < n12.getLft());
    assertTrue(n12.getLft() < n121.getLft());
    assertTrue(n121.getLft() < n121.getRgt());
    assertTrue(n121.getRgt() < n122.getLft());
    assertTrue(n122.getLft() < n122.getRgt());
    assertTrue(n122.getRgt() < n11.getLft());
    assertTrue(n11.getLft() < n111.getLft());
    assertTrue(n111.getLft() < n111.getRgt());
    assertTrue(n111.getRgt() < n11.getRgt());
    assertTrue(n11.getRgt() < n12.getRgt());
    assertTrue(n12.getRgt() < n1.getRgt());
    assertTrue(n1.getRgt() < n2.getLft());
    assertTrue(n2.getLft() < n2.getRgt());
    assertEquals(5, n1.getDescendantsCount());
    assertEquals(4, n12.getDescendantsCount());
    assertEquals(0, n121.getDescendantsCount());
    assertEquals(0, n122.getDescendantsCount());
    assertEquals(1, n11.getDescendantsCount());
    assertEquals(0, n111.getDescendantsCount());
    assertEquals(0, n2.getDescendantsCount());
}
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 7 with Note

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

the class StructureTest method testPasteToDifferentBook.

@Test
public void testPasteToDifferentBook() throws IOException {
    shelfTestUtils.setupBook("notebook-1", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n");
    Book book2 = shelfTestUtils.setupBook("notebook-2", "" + "description\n" + "\n" + "* Note A\n" + "** Note A.A\n" + "*** Note A.A.A\n");
    shelf.cut(book2.getId(), shelf.getNote("Note A.A").getId());
    Note n = shelf.getNote("Note 1.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 A.A\n" + "***** Note A.A.A\n", shelf.getBookContent("notebook-1", BookName.Format.ORG));
    assertEquals("description\n" + "\n" + "* Note A\n", shelf.getBookContent("notebook-2", 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 8 with Note

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

the class StructureTest method testPromoteFolded.

@Test
public void testPromoteFolded() 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");
    /* Promote folded 1.1 */
    shelf.toggleFoldedState(note.getId());
    assertEquals(1, shelf.promote(book.getId(), note.getId()));
    assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.2\n" + "* Note 1.1\n" + "** Note 1.1.1\n" + "* Note 2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
    NotePosition n1 = shelf.getNote("Note 1").getPosition();
    NotePosition n12 = shelf.getNote("Note 1.2").getPosition();
    NotePosition n11 = shelf.getNote("Note 1.1").getPosition();
    NotePosition n111 = shelf.getNote("Note 1.1.1").getPosition();
    NotePosition n2 = shelf.getNote("Note 2").getPosition();
    assertEquals(1, n1.getDescendantsCount());
    assertEquals(0, n12.getDescendantsCount());
    assertEquals(1, n11.getDescendantsCount());
    assertEquals(0, n111.getDescendantsCount());
    assertEquals(0, n2.getDescendantsCount());
    assertEquals(1, n1.getLevel());
    assertEquals(2, n12.getLevel());
    assertEquals(1, n11.getLevel());
    assertEquals(2, n111.getLevel());
    assertEquals(1, n2.getLevel());
    assertEquals(0, n1.getFoldedUnderId());
    assertEquals(0, n12.getFoldedUnderId());
    assertEquals(0, n11.getFoldedUnderId());
    assertEquals(shelf.getNote("Note 1.1").getId(), n111.getFoldedUnderId());
    assertEquals(0, n2.getFoldedUnderId());
    assertFalse(n1.isFolded());
    assertFalse(n12.isFolded());
    assertTrue(n11.isFolded());
    assertFalse(n111.isFolded());
    assertFalse(n2.isFolded());
    assertTrue(n1.getLft() < n12.getLft());
    assertTrue(n12.getLft() < n12.getRgt());
    assertTrue(n12.getRgt() < n11.getRgt());
    assertTrue(n1.getRgt() < n11.getLft());
    assertTrue(n11.getLft() < n111.getLft());
    assertTrue(n111.getLft() < n111.getRgt());
    assertTrue(n111.getRgt() < 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 9 with Note

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

the class StructureTest method testParentIdForCreatedNote.

@Test
public void testParentIdForCreatedNote() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n");
    Note newNote = new Note();
    newNote.getPosition().setBookId(book.getId());
    newNote.getHead().setTitle("Note 1.1");
    shelf.createNote(newNote, new NotePlace(book.getId(), shelf.getNote("Note 1").getId(), Place.UNDER));
    assertEquals(1, shelf.getNote("Note 1").getPosition().getDescendantsCount());
    assertEquals(shelf.getNote("Note 1").getId(), shelf.getNote("Note 1.1").getPosition().getParentId());
}
Also used : Book(com.orgzly.android.Book) Note(com.orgzly.android.Note) NotePlace(com.orgzly.android.ui.NotePlace) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 10 with Note

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

the class StructureTest method testPasteUnderHidden.

@Test
public void testPasteUnderHidden() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "* Note 2\n");
    shelf.toggleFoldedState(shelf.getNote("Note 1").getId());
    shelf.cut(book.getId(), shelf.getNote("Note 2").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 2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
    assertTrue(shelf.getNote("Note 1").getPosition().isFolded());
    assertEquals(shelf.getNote("Note 1").getId(), shelf.getNote("Note 1.1").getPosition().getFoldedUnderId());
    assertEquals(shelf.getNote("Note 1").getId(), shelf.getNote("Note 2").getPosition().getFoldedUnderId());
}
Also used : Book(com.orgzly.android.Book) Note(com.orgzly.android.Note) 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