@Override public void onCreate() { super.onCreate(); LitePal.initialize(this); } }
@Test public void testDeleteWithNotExistsRecordById() { int rowsAffected = LitePal.delete(Student.class, 998909); assertEquals(0, rowsAffected); }
@Test public void testMarkAsDeleted() { List<Student> students = new ArrayList<>(); for (int i = 0; i < 5; i++) { Student s = new Student(); s.setName("Dusting"); s.setAge(i + 10); students.add(s); } LitePal.saveAll(students); List<Student> list = LitePal.where("name=?", "Dusting").find(Student.class); assertTrue(list.size() >= 5); LitePal.deleteAll(Student.class, "name=?", "Dusting"); list = LitePal.where("name=?", "Dusting").find(Student.class); assertEquals(0, list.size()); LitePal.saveAll(students); list = LitePal.where("name=?", "Dusting").find(Student.class); assertEquals(0, list.size()); LitePal.markAsDeleted(students); LitePal.saveAll(students); list = LitePal.where("name=?", "Dusting").find(Student.class); assertEquals(5, list.size()); }
@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.count_btn1: result = LitePal.count(Singer.class); mResultText.setText(String.valueOf(result)); break; case R.id.count_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).count( Singer.class); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Override public void onClick(View view) { double result = 0; switch (view.getId()) { case R.id.avg_btn1: result = LitePal.average(Singer.class, "age"); mResultText.setText(String.valueOf(result)); break; case R.id.avg_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).average( Singer.class, "age"); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.min_btn1: result = LitePal.min(Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); break; case R.id.min_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).min( Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Test public void testSum() { int result = LitePal.sum(Student.class, "age", Integer.TYPE); int realResult = -100; Cursor cursor = LitePal.findBySQL("select sum(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("age > ?", "15").sum(studentTable, "age", Integer.TYPE); cursor = LitePal.findBySQL("select sum(age) from " + studentTable + " where age > ?", "15"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); }
@Test public void testMax() { int result = LitePal.max(Student.class, "age", Integer.TYPE); int realResult = -100; Cursor cursor = LitePal.findBySQL("select max(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("age < ?", "20").max(studentTable, "age", Integer.TYPE); cursor = LitePal.findBySQL("select max(age) from " + studentTable + " where age < ?", "20"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); }
@Test public void testMin() { int result = LitePal.min(Student.class, "age", Integer.TYPE); int realResult = -100; Cursor cursor = LitePal.findBySQL("select min(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("age > ?", "10").min(studentTable, "age", Integer.TYPE); cursor = LitePal.findBySQL("select min(age) from " + studentTable + " where age > ?", "10"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); }
@Test public void testCount() { int result = LitePal.count(Student.class); int realResult = -100; Cursor cursor = LitePal.findBySQL("select count(1) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("id > ?", "99").count(studentTable); cursor = LitePal.findBySQL("select count(1) from " + studentTable + " where id > ?", "99"); if (cursor.moveToFirst()) { realResult = cursor.getInt(0); } cursor.close(); assertEquals(realResult, result); try { LitePal.count("nosuchtable"); fail(); } catch (Exception e) { } }
@Test public void testAverage() { double result = LitePal.average(Student.class, "age"); double realResult = -100; Cursor cursor = LitePal.findBySQL("select avg(age) from " + studentTable); if (cursor.moveToFirst()) { realResult = cursor.getDouble(0); } cursor.close(); assertEquals(realResult, result); result = LitePal.where("id > ?", "99").average(studentTable, "age"); cursor = LitePal.findBySQL("select avg(age) from " + studentTable + " where id > ?", "99"); if (cursor.moveToFirst()) { realResult = cursor.getDouble(0); } cursor.close(); assertEquals(realResult, result); try { LitePal.average(Student.class, "nosuchcolumn"); fail(); } catch (Exception e) { e.printStackTrace(); } }
@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.sum_btn1: result = LitePal.sum(Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); break; case R.id.sum_btn2: try { result = LitePal.where("age > ?", mAgeEdit.getText().toString()).sum( Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Override public void onClick(View view) { int result = 0; switch (view.getId()) { case R.id.max_btn1: result = LitePal.max(Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); break; case R.id.max_btn2: try { result = LitePal.where("age < ?", mAgeEdit.getText().toString()).max( Singer.class, "age", Integer.TYPE); mResultText.setText(String.valueOf(result)); } catch (Exception e) { e.printStackTrace(); } break; default: } }
@Test public void testSaveAllWithO2O() { List<IdCard> idcardList = new ArrayList<IdCard>(); List<Student> studentList = new ArrayList<Student>(); for (int i = 0; i < 50; i++) { IdCard idcard = new IdCard(); idcard.setNumber(String.valueOf(new Random().nextInt(2000000))); Student student = new Student(); student.setName("Jim"); student.setAge(new Random().nextInt(20)); student.setIdcard(idcard); idcardList.add(idcard); studentList.add(student); } LitePal.saveAll(idcardList); LitePal.saveAll(studentList); for (Student student : studentList) { List<IdCard> result = LitePal .where(studentTable + "_id=?", String.valueOf(student.getId())).find(IdCard.class); assertEquals(1, result.size()); } }
@Test public void testEagerClusterQuery() { resetData(); List<Student> sList = LitePal.where("id = ?", String.valueOf(student1.getId())).find( Student.class); assertEquals(1, sList.size()); Student s = sList.get(0); assertNull(s.getClassroom()); sList = LitePal.where("id = ?", String.valueOf(student1.getId())).find(Student.class, true); assertEquals(1, sList.size()); s = sList.get(0); assertNotNull(s.getClassroom()); Classroom c = s.getClassroom(); assertEquals("Classroom 11", c.getName()); }
case R.id.delete_btn1: try { int rowsAffected = LitePal.delete(Singer.class, Long.parseLong(mSingerIdEdit.getText().toString())); Toast.makeText( case R.id.delete_btn2: try { int rowsAffected = LitePal.deleteAll(Singer.class, "name=? and age=?", mNameToDeleteEdit.getText().toString(), mAgeToDeleteEdit.getText() .toString());
private List<Download> updateDownloads() { List<Download> list = LitePal.findAll(Download.class); if (null != list && list.size() > 0) { for (int i = 0; i < list.size(); i++) { Download download = list.get(i); if (!new File(download.getLocal()).exists()) { list.remove(i); LitePal.delete(Download.class, download.getId()); } } } return list; }
@Test public void testFindAll() { List<Book> expectBooks = getBooks(null, null, null, null, null, null, null); List<Book> realBooks = LitePal.findAll(Book.class); assertEquals(expectBooks.size(), realBooks.size()); for (int i = 0; i < expectBooks.size(); i++) { Book expectBook = expectBooks.get(i); Book realBook = realBooks.get(i); assertEquals(expectBook.getId(), realBook.getId()); assertEquals(expectBook.getBookName(), realBook.getBookName()); assertEquals(expectBook.getPages(), realBook.getPages()); assertEquals(expectBook.getPrice(), realBook.getPrice()); assertEquals(expectBook.getArea(), realBook.getArea()); assertEquals(expectBook.getIsbn(), realBook.getIsbn()); assertEquals(expectBook.getLevel(), realBook.getLevel()); assertEquals(expectBook.isPublished(), realBook.isPublished()); assertTrue(realBook.isSaved()); } }
@Test public void testDeleteWithGenericData() { Classroom classroom = new Classroom(); classroom.setName("classroom1"); classroom.getNews().add("news1"); classroom.getNews().add("news2"); classroom.getNews().add("news3"); classroom.save(); int id = classroom.get_id(); String tableName = DBUtility.getGenericTableName(Classroom.class.getName(), "news"); String column = DBUtility.getGenericValueIdColumnName(Classroom.class.getName()); Cursor c = LitePal.findBySQL("select * from " + tableName + " where " + column + " = ?", String.valueOf(id)); assertEquals(3, c.getCount()); c.close(); classroom.delete(); c = LitePal.findBySQL("select * from " + tableName + " where " + column + " = ?", String.valueOf(id)); assertEquals(0, c.getCount()); c.close(); assertFalse(classroom.isSaved()); classroom.save(); assertTrue(classroom.isSaved()); c = LitePal.findBySQL("select * from " + tableName + " where " + column + " = ?", String.valueOf(classroom.get_id())); assertEquals(3, c.getCount()); c.close(); LitePal.deleteAll(Classroom.class, "id = ?", String.valueOf(classroom.get_id())); c = LitePal.findBySQL("select * from " + tableName + " where " + column + " = ?", String.valueOf(classroom.get_id())); assertEquals(0, c.getCount()); c.close(); }