case R.id.delete_btn2: try { int rowsAffected = LitePal.deleteAll(Singer.class, "name=? and age=?", mNameToDeleteEdit.getText().toString(), mAgeToDeleteEdit.getText() .toString());
@Test public void testDeleteAllWithWrongConditions() { try { LitePal.deleteAll(Student.class, "name = 'Dustin'", "aaa"); fail(); } catch (DataSupportException e) { assertEquals("The parameters in conditions are incorrect.", e.getMessage()); } try { LitePal.deleteAll(Student.class, null, null); fail(); } catch (DataSupportException e) { assertEquals("The parameters in conditions are incorrect.", e.getMessage()); } try { LitePal.deleteAll(Student.class, "address = ?", "HK"); fail(); } catch (SQLiteException e) { } }
@Test public void testDeleteAllRows() { createStudentsTeachersWithIdCard(); int rowsCount = getRowsCount(teacherTable); int affectedRows = 0; affectedRows = LitePal.deleteAll(Teacher.class); assertTrue(rowsCount <= affectedRows); rowsCount = getRowsCount(studentTable); affectedRows = LitePal.deleteAll(Student.class); assertTrue(rowsCount<= affectedRows); rowsCount = getRowsCount(DBUtility.getTableNameByClassName(IdCard.class.getName())); affectedRows = LitePal.deleteAll(IdCard.class); assertTrue(rowsCount<=affectedRows); createStudentsTeachersWithAssociations(); rowsCount = getRowsCount(teacherTable); affectedRows = LitePal.deleteAll(Teacher.class); assertTrue(rowsCount<=affectedRows); rowsCount = getRowsCount(studentTable); affectedRows = LitePal.deleteAll(Student.class); assertTrue(rowsCount<=affectedRows); rowsCount = getRowsCount(DBUtility.getIntermediateTableName(studentTable, teacherTable)); affectedRows = LitePal.deleteAll(DBUtility.getIntermediateTableName(studentTable, teacherTable)); assertTrue(rowsCount<=affectedRows); }
@Test public void testDeleteAllCascadeM2OAssociationsOnOSide() { createClassroomStudentsTeachers(); int rowsAffected = LitePal.deleteAll(Student.class, "id = ?", String.valueOf(jude.getId())); assertEquals(1, rowsAffected); assertNull(getStudent(jude.getId())); rowsAffected = LitePal.deleteAll(Student.class, "id = ?", String.valueOf(rose.getId())); assertEquals(1, rowsAffected); assertNull(getStudent(rose.getId())); rowsAffected = LitePal.deleteAll(Teacher.class, "id = ?", String.valueOf(john.getId())); assertEquals(1, rowsAffected); assertNull(getTeacher(john.getId())); rowsAffected = LitePal.deleteAll(Teacher.class, "id = ?", String.valueOf(mike.getId())); assertEquals(1, rowsAffected); assertNull(getTeacher(mike.getId())); }
@Test public void testDeleteAll() { Student s; int[] ids = new int[5]; for (int i = 0; i < 5; i++) { s = new Student(); s.setName("Dusting"); s.setAge(i + 10086); s.save(); ids[i] = s.getId(); } int affectedRows = LitePal.deleteAll(Student.class, "name = ? and age = ?", "Dusting", "10088"); assertEquals(1, affectedRows); assertNull(getStudent(ids[2])); affectedRows = LitePal.deleteAll(Student.class, "name = ? and age > ? and age < ?", "Dusting", "10085", "10092"); assertEquals(4, affectedRows); }
@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(); }
@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()); }
@Test public void testDeleteAllCascadeO2OAssociations() { createStudentsTeachersWithIdCard(); int affectedRows = LitePal.deleteAll(Student.class, "id = ?", String.valueOf(jude.getId())); assertEquals(2, affectedRows); assertNull(getStudent(jude.getId())); assertNull(getIdCard(judeCard.getId())); affectedRows = LitePal.deleteAll(IdCard.class, "id = ?", roseCard.getId() + ""); assertEquals(2, affectedRows); assertNull(getStudent(rose.getId())); assertNull(getIdCard(roseCard.getId())); affectedRows = LitePal.deleteAll(Teacher.class, "id = ?", "" + john.getId()); assertEquals(2, affectedRows); assertNull(getTeacher(john.getId())); assertNull(getIdCard(johnCard.getId())); affectedRows = LitePal.deleteAll(IdCard.class, "id=?", "" + mikeCard.getId()); assertEquals(1, affectedRows); assertNull(getIdCard(mikeCard.getId())); }
@Test public void testDeleteAllCascadeM2MAssociations() { createStudentsTeachersWithAssociations(); int rowsAffected = LitePal.deleteAll(Teacher.class, "id=?", "" + john.getId()); assertEquals(2, rowsAffected); assertNull(getTeacher(john.getId())); assertM2MFalse(studentTable, teacherTable, rose.getId(), john.getId()); assertM2M(studentTable, teacherTable, rose.getId(), mike.getId()); assertM2M(studentTable, teacherTable, jude.getId(), mike.getId()); createStudentsTeachersWithAssociations(); rowsAffected = LitePal.deleteAll(Teacher.class, "id=?", "" + mike.getId()); assertEquals(3, rowsAffected); assertNull(getTeacher(mike.getId())); assertM2MFalse(studentTable, teacherTable, rose.getId(), mike.getId()); assertM2MFalse(studentTable, teacherTable, jude.getId(), mike.getId()); assertM2M(studentTable, teacherTable, rose.getId(), john.getId()); }
@Test public void testDeleteAllCascadeM2OAssociationsOnMSide() { createClassroomStudentsTeachers(); int rowsAffected = LitePal.deleteAll(Classroom.class, "id = ?", gameRoom.get_id() + ""); assertEquals(5, rowsAffected); assertNull(getClassroom(gameRoom.get_id())); assertNull(getStudent(jude.getId())); assertNull(getStudent(rose.getId())); assertNull(getTeacher(john.getId())); assertNull(getTeacher(mike.getId())); }
@Test public void testDeleteAllCascadeWithConditions() { Classroom classroom = new Classroom(); classroom.setName("1"+System.currentTimeMillis()); classroom.save(); Classroom classroom2 = new Classroom(); classroom2.setName("2"+ System.currentTimeMillis()); classroom2.save(); Student s1 = new Student(); s1.setClassroom(classroom); s1.save(); Student s2 = new Student(); s2.setClassroom(classroom); s2.save(); Student s3 = new Student(); s3.setClassroom(classroom2); s3.save(); int rows = LitePal.deleteAll(Classroom.class, "name = ?", classroom.getName()); assertEquals(3, rows); assertNull(getClassroom(classroom.get_id())); assertNull(getStudent(s1.getId())); assertNull(getStudent(s2.getId())); assertNotNull(getClassroom(classroom2.get_id())); assertNotNull(getStudent(s3.getId())); rows = LitePal.deleteAll(Classroom.class, "name = ?", classroom2.getName()); assertEquals(2, rows); assertNull(getClassroom(classroom2.get_id())); assertNull(getStudent(s3.getId())); }