@Test public void testSaveGenericData() { Classroom classroom = new Classroom(); classroom.setName("classroom1"); classroom.getNews().add("news1"); classroom.getNews().add("news2"); classroom.getNews().add("news3"); List<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); classroom.setNumbers(numbers); classroom.save(); Classroom c = LitePal.find(Classroom.class, classroom.get_id()); assertEquals("classroom1", c.getName()); assertEquals(3, c.getNews().size()); assertEquals(4, c.getNumbers().size()); for (String news : c.getNews()) { assertTrue(news.equals("news1") || news.equals("news2") || news.equals("news3")); } for (int number : c.getNumbers()) { assertTrue(number == 1 || number == 2 || number == 3 || number == 4); } }
@Test public void testDefaultValue() { Cellphone cellphone = new Cellphone(); cellphone.setBrand("三星"); cellphone.setInStock('Y'); cellphone.setPrice(1949.99); cellphone.setSerial(UUID.randomUUID().toString()); assertTrue(cellphone.save()); assertEquals("0.0.0.0", LitePal.find(Cellphone.class, cellphone.getId()).getMac()); cellphone.setMac("192.168.0.1"); assertTrue(cellphone.save()); assertEquals("192.168.0.1", LitePal.find(Cellphone.class, cellphone.getId()).getMac()); }
@Test public void testSaveAllGenericData() { List<Classroom> classroomList = new ArrayList<Classroom>(); for (int i = 0; i < 50; i++) { Classroom classroom = new Classroom(); classroom.setName("classroom " + i); for (int j = 0; j < 20; j++) { classroom.getNews().add("news " + i); } for (int k = 0; k < 13; k++) { classroom.getNumbers().add(k); } classroomList.add(classroom); } LitePal.saveAll(classroomList); assertEquals(50, classroomList.size()); for (Classroom classroom : classroomList) { assertTrue(classroom.isSaved()); Classroom c = LitePal.find(Classroom.class, classroom.get_id()); assertTrue(c.getName().startsWith("classroom")); assertEquals(20, c.getNews().size()); assertEquals(13, c.getNumbers().size()); } }
@Test public void testUpdateGenericData() { Classroom classroom = new Classroom(); classroom.setName("Classroom origin"); classroom.getNews().add("n"); classroom.getNews().add("e"); classroom.getNews().add("w"); classroom.getNumbers().add(1); classroom.getNumbers().add(2); classroom.getNumbers().add(3); classroom.save(); classroom.setName("Classroom update"); classroom.getNews().add("s"); classroom.getNumbers().clear(); classroom.save(); Classroom c = LitePal.find(Classroom.class, classroom.get_id()); assertEquals("Classroom update", c.getName()); assertEquals(4, classroom.getNews().size()); assertEquals(0, classroom.getNumbers().size()); StringBuilder builder = new StringBuilder(); for (String s : classroom.getNews()) { builder.append(s); } assertEquals("news", builder.toString()); }
@Test public void testUpdateGenericData() { Classroom c = new Classroom(); c.setName("Math room"); c.getNews().add("news"); c.getNews().add("paper"); c.update(classroom.get_id()); Classroom result = LitePal.find(Classroom.class, classroom.get_id()); assertEquals("Math room", result.getName()); StringBuilder builder = new StringBuilder(); for (String s : result.getNews()) { builder.append(s); } assertEquals("newspaper", builder.toString()); assertEquals(2, result.getNumbers().size()); Classroom c2 = new Classroom(); c2.setToDefault("numbers"); c2.update(classroom.get_id()); result = LitePal.find(Classroom.class, classroom.get_id()); assertEquals("Math room", result.getName()); assertEquals(2, result.getNews().size()); assertEquals(0, result.getNumbers().size()); }
@Test public void testUpdateM2OAssociationsOnMSide() { init(); s1.setClassroom(c1); s2.setClassroom(c1); assertTrue(c1.save()); assertTrue(c2.save()); assertTrue(s1.save()); assertTrue(s2.save()); s1.setClassroom(c2); s2.setClassroom(c2); Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(1989, 7, 7, 0, 0, 0); s2.setBirthday(calendar.getTime()); assertTrue(s1.save()); assertTrue(s2.save()); assertEquals(c2.get_id(), getForeignKeyValue(studentTable, classroomTable, s1.getId())); assertEquals(c2.get_id(), getForeignKeyValue(studentTable, classroomTable, s2.getId())); Student student2 = LitePal.find(Student.class, s2.getId()); calendar.clear(); calendar.set(1989, 7, 7, 0, 0, 0); assertEquals(calendar.getTimeInMillis(), student2.getBirthday().getTime()); }
@Test public void testSaveWithBlob() { byte[] b = new byte[10]; for (int i = 0; i < b.length; i++) { b[i] = (byte)i; } Product product = new Product(); product.setBrand("Android"); product.setPrice(2899.69); product.setPic(b); assertTrue(product.save()); Product p = LitePal.find(Product.class, product.getId()); byte[] pic = p.getPic(); assertEquals(b.length, pic.length); for (int i = 0; i < b.length; i++) { assertEquals(i, pic[i]); } }
@Test public void testUpdateBlobWithStaticUpdate() { byte[] b = new byte[10]; for (int i = 0; i < b.length; i++) { b[i] = (byte)i; } Product product = new Product(); product.setBrand("Android"); product.setPrice(2899.69); product.setPic(b); assertTrue(product.save()); for (int i = 0; i < b.length; i++) { b[i] = (byte) (b.length - i); } ContentValues values = new ContentValues(); values.put("pic", b); int rows = LitePal.update(Product.class, values, product.getId()); assertEquals(1, rows); Product p = LitePal.find(Product.class, product.getId()); byte[] pic = p.getPic(); assertEquals(b.length, pic.length); for (int i = 0; i < b.length; i++) { byte a = (byte) (b.length - i); assertEquals(a, pic[i]); } }
@Test public void testUpdateBlobValues() { byte[] b = new byte[10]; for (int i = 0; i < b.length; i++) { b[i] = (byte)i; } Product product = new Product(); product.setBrand("Android"); product.setPrice(2899.69); product.setPic(b); assertTrue(product.save()); for (int i = 0; i < b.length; i++) { b[i] = (byte) (b.length - i); } product.setPic(b); assertTrue(product.save()); Product p = LitePal.find(Product.class, product.getId()); byte[] pic = p.getPic(); assertEquals(b.length, pic.length); for (int i = 0; i < b.length; i++) { byte a = (byte) (b.length - i); assertEquals(a, pic[i]); } }
@Test public void testSaveWithConstructors() { Computer computer = new Computer("asus", 699.00); assertTrue(computer.save()); assertTrue(isDataExists(getTableName(computer), computer.getId())); Computer c = getComputer(computer.getId()); assertEquals("asus", c.getBrand()); assertEquals(699.00, c.getPrice()); Computer cc = LitePal.find(Computer.class, computer.getId()); assertEquals("asus", cc.getBrand()); assertEquals(699.00, cc.getPrice()); Product p = new Product(null); p.setBrand("apple"); p.setPrice(1222.33); p.save(); }
@Test public void testEagerFind() { Student s1 = LitePal.find(Student.class, student1.getId(), true); Classroom c = s1.getClassroom(); IdCard ic = s1.getIdcard(); s1 = LitePal.find(Student.class, student1.getId()); c = s1.getClassroom(); assertNull(c); assertNull(s1.getIdcard()); assertEquals(0, s1.getTeachers().size()); c = LitePal.find(Classroom.class, classroom.get_id(), true); assertEquals(2, c.getStudentCollection().size()); assertEquals(1, c.getTeachers().size()); Teacher t1 = LitePal.find(Teacher.class, teacher2.getId(), true); List<Student> sList = t1.getStudents(); assertEquals(teacher2.getStudents().size(), sList.size()); Student s3 = LitePal.find(Student.class, student3.getId()); assertNull(s3.getBirthday());
@Test public void testUpdateAllWithInstanceUpdate() { Student s; int[] ids = new int[5]; for (int i = 0; i < 5; i++) { s = new Student(); s.setName("Jessica"); s.setAge(i + 10); s.save(); ids[i] = s.getId(); } Date date = new Date(); Student toUpdate = new Student(); toUpdate.setAge(24); toUpdate.setBirthday(date); int affectedRows = toUpdate.updateAll(new String[] { "name = ? and age = ?", "Jessica", "13" }); assertEquals(1, affectedRows); Student updatedStu = LitePal.find(Student.class, ids[3]); assertEquals(24, updatedStu.getAge()); assertEquals(date.getTime(), updatedStu.getBirthday().getTime()); toUpdate.setAge(18); toUpdate.setName("Jess"); affectedRows = toUpdate.updateAll(new String[] { "name = ?", "Jessica" }); assertEquals(5, affectedRows); List<Student> students = getStudents(ids); for (Student updatedStudent : students) { assertEquals("Jess", updatedStudent.getName()); assertEquals(18, updatedStudent.getAge()); } }
@Test public void testUpdateBlobWithInstanceUpdate() { byte[] b = new byte[10]; for (int i = 0; i < b.length; i++) { b[i] = (byte)i; } Product product = new Product(); product.setBrand("Android"); product.setPrice(2899.69); product.setPic(b); assertTrue(product.save()); for (int i = 0; i < b.length; i++) { b[i] = (byte) (b.length - i); } Product pro = new Product(); pro.setPic(b); int rows = pro.update(product.getId()); assertEquals(1, rows); Product p = LitePal.find(Product.class, product.getId()); byte[] pic = p.getPic(); assertEquals(b.length, pic.length); for (int i = 0; i < b.length; i++) { byte a = (byte) (b.length - i); assertEquals(a, pic[i]); } }
@Test public void testFind() { short isbn = 30013; Book book = new Book(); book.setArea(10.5f); book.setBookName("Android First Line"); book.setIsbn(isbn); book.setLevel('A'); book.setPages(450); book.setPrice(49.99); book.setPublished(false); book.save(); Book b = LitePal.find(Book.class, book.getId()); assertEquals(book.getId(), b.getId()); assertEquals(10.5f, b.getArea()); assertEquals("Android First Line", b.getBookName()); assertEquals(isbn, b.getIsbn()); assertEquals('A', b.getLevel()); assertTrue(450 == b.getPages()); assertEquals(49.99, b.getPrice()); assertFalse(b.isPublished()); assertTrue(b.isSaved()); }
@Test public void testSaveInheritModels() { WeChatMessage weChatMessage = new WeChatMessage(); weChatMessage.setFriend("Tom"); weChatMessage.setContent("Hello nice to meet you"); weChatMessage.setTitle("Greeting message"); weChatMessage.setType(1); assertTrue(weChatMessage.save()); assertTrue(weChatMessage.getId() > 0); WeChatMessage message1 = LitePal.find(WeChatMessage.class, weChatMessage.getId()); assertEquals("Tom", message1.getFriend()); assertEquals("Hello nice to meet you", message1.getContent()); assertNull(message1.getTitle()); assertEquals(1, message1.getType()); WeiboMessage weiboMessage = new WeiboMessage(); weiboMessage.setType(2); weiboMessage.setTitle("Following message"); weiboMessage.setContent("Something big happens"); weiboMessage.setFollower("Jimmy"); weiboMessage.setNumber(123456); assertTrue(weiboMessage.save()); assertTrue(weiboMessage.getId() > 0); }
assertTrue(weChatMessage.save()); assertTrue(weChatMessage.getId() > 0); WeChatMessage message1 = LitePal.find(WeChatMessage.class, weChatMessage.getId()); assertEquals("Tom", message1.getFriend()); assertEquals("Hello nice to meet you", message1.getContent()); assertTrue(weiboMessage.save()); assertTrue(weiboMessage.getId() > 0); WeiboMessage message2 = LitePal.find(WeiboMessage.class, weiboMessage.getId(), true); Cellphone result = message2.getCellphone(); assertEquals(cellphone.getId(), result.getId());
@Test public void testUpdateToDefaultValueWithInstanceUpdate() { Student s = new Student(); s.setToDefault("age"); s.setToDefault("name"); s.setToDefault("birthday"); int affectedStudent = s.update(student.getId()); assertEquals(1, affectedStudent); Student newStudent = LitePal.find(Student.class, student.getId()); assertNull(newStudent.getBirthday()); assertEquals(null, newStudent.getName()); assertEquals(0, newStudent.getAge()); Teacher t = new Teacher(); t.setAge(45); t.setTeachYears(5); t.setTeacherName("John"); t.setToDefault("teacherName"); t.setToDefault("age"); int affectedTeacher = t.update(teacher.getId()); assertEquals(1, affectedTeacher); Teacher newTeacher = getTeacher(teacher.getId()); assertEquals(22, newTeacher.getAge()); assertEquals("", newTeacher.getTeacherName()); assertEquals(5, newTeacher.getTeachYears()); }