Search in sources :

Example 21 with Book

use of com.orgzly.android.Book 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 22 with Book

use of com.orgzly.android.Book 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)

Example 23 with Book

use of com.orgzly.android.Book 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 24 with Book

use of com.orgzly.android.Book 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 25 with Book

use of com.orgzly.android.Book 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)

Aggregations

Book (com.orgzly.android.Book)60 OrgzlyTest (com.orgzly.android.OrgzlyTest)47 Test (org.junit.Test)47 Note (com.orgzly.android.Note)21 NotePosition (com.orgzly.android.NotePosition)11 IOException (java.io.IOException)8 Shelf (com.orgzly.android.Shelf)6 Uri (android.net.Uri)5 Context (android.content.Context)4 Intent (android.content.Intent)4 TypedArray (android.content.res.TypedArray)4 NavigationView (android.support.design.widget.NavigationView)4 SearchView (android.support.v7.widget.SearchView)4 MenuItem (android.view.MenuItem)4 View (android.view.View)4 TextView (android.widget.TextView)4 Query (com.orgzly.android.query.Query)4 File (java.io.File)4 Activity (android.app.Activity)3 AlertDialog (android.app.AlertDialog)3