@Test
  public void findAllWithWhereClauseTest() {
    Date date = new Date();
    @SuppressWarnings("deprecation")
    Date laterDate = new Date(date.getYear() + 1, 2, 4);

    ContentValues values = new ContentValues();
    values.put("id", 1);
    values.put("body", "text");
    values.put("date", date.getTime());

    long id = db.insert("Note", null, values);
    Assert.assertTrue("Note instance not created", id > 0);

    values = new ContentValues();
    values.put("id", 2);
    values.put("body", "text");
    values.put("date", laterDate.getTime());

    id = db.insert("Note", null, values);
    Assert.assertTrue("Note instance not created", id > 0);

    Dao<Integer, Note> dao = dbLite.getDao(Note.class);
    List<Note> notes = dao.findAll(null, null, "id=? AND body=?", "1", "text");
    Assert.assertTrue("Empty List<Note> Returned", !notes.isEmpty());
    Assert.assertEquals(1, notes.get(0).id);

    notes = dao.findAll(null, null, "date >= ?", date);
    Assert.assertTrue("Empty List<Note> Returned", !notes.isEmpty());
    Assert.assertEquals(2, notes.size());
  }
  @Test
  public void dateEqualityTest() throws ParseException {
    Book book = new Book();
    book.setId(1);
    book.setReciever("Mario");
    book.setAmountSent(2);
    SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy");
    Date date = sdf.parse("24/11/2014");
    book.setDateRecieved(date);

    Dao<Integer, Book> dao = dbLite.getDao(Book.class);
    long rowID = dao.create(book);
    Assert.assertEquals(book.getId(), rowID);

    Book book2 = new Book();
    book2.setId(2);
    book2.setReciever("Mario");
    book2.setAmountSent(2);
    book2.setDateRecieved(new Date());

    long rowID2 = dao.create(book2);
    Assert.assertEquals(book2.getId(), rowID2);

    List<Book> books = dao.findAll(null, null, "dateRecieved > ?", date);
    Assert.assertTrue(books.size() > 0);
  }
  @Test
  public void findAllMethodInstancesAddedToListTest() {
    ContentValues values = new ContentValues();
    values.put("id", 1);
    values.put("body", "text");

    long id = db.insert("Note", null, values);
    Assert.assertTrue(id > 0);

    Dao<Integer, Note> dao = dbLite.getDao(Note.class);
    List<Note> notes = dao.findAll();
    Assert.assertTrue(notes.size() > 0);
  }
  @Test
  public void findAllOrderByTest() {
    ContentValues values = new ContentValues();
    values.put("id", 11);
    values.put("body", "text");
    values.put("date", new Date().getTime());

    long id = db.insert("Note", null, values);
    Assert.assertTrue("Note instance not created", id > 0);

    values.put("id", 15);
    values.put("date", new Date().getTime());
    long id2 = db.insert("Note", null, values);
    Assert.assertTrue("Note instance not created", id > 0);

    Dao<Integer, Note> dao = dbLite.getDao(Note.class);
    List<Note> notes = dao.findAll("date", OrderByType.ASC, null);
    Assert.assertTrue("Empty List<Note> Returned", !notes.isEmpty());
    Assert.assertEquals(id, notes.get(0).id);
    Assert.assertEquals(id2, notes.get(1).id);
  }
  @Test
  public void findAllMethodFieldsPopulatedWithDataTest() {
    Dao<Integer, Note> dao = dbLite.getDao(Note.class);
    ContentValues values = new ContentValues();
    values.put("id", 4);
    values.put("body", "text");
    values.put("author", "john doe");
    values.put("date", new Date().toString());
    values.put("sent", true);

    long id = db.insert("Note", null, values);
    Assert.assertTrue(id > 0);

    List<Note> notes = dao.findAll();
    for (Note note : notes) {
      Assert.assertNotNull(note.author);
      Assert.assertNotNull(note.date);
      Assert.assertNotNull(note.body);
      Assert.assertTrue(note.id > 0);
      Assert.assertTrue(note.sent);
    }
  }