package org.nutz.dao.test.normal.psql; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.nutz.dao.test.DaoCase; import org.nutz.lang.Lang; public class PsqlArrayTest extends DaoCase { @Override protected void before() { if (!dao.meta().isPostgresql()) return; dao.create(StudentArray.class, true); } @Test public void crud() { if (!dao.meta().isPostgresql()) return; StudentArray student = new StudentArray(); Integer[] payByQuarter = {1000, 1300, 1500, 1200}; String[] schedule = new String[]{"02", "05", "08", "11"}; student.setPayByQuarter(payByQuarter); student.setSchedule(schedule); int insertId = dao.insert(student).getId(); StudentArray insertStudent = dao.fetch(StudentArray.class, insertId); assertTrue(Lang.equals(payByQuarter, insertStudent.getPayByQuarter())); assertTrue(Lang.equals(schedule, insertStudent.getSchedule())); payByQuarter[2] = 2500; schedule[2] = "09"; insertStudent.setPayByQuarter(payByQuarter); insertStudent.setSchedule(schedule); dao.updateIgnoreNull(insertStudent); StudentArray updateStudent = dao.fetch(StudentArray.class, insertId); assertEquals(Integer.valueOf(2500), updateStudent.getPayByQuarter()[2]); assertEquals("09", updateStudent.getSchedule()[2]); dao.delete(StudentArray.class, insertId); assertNull(dao.fetch(StudentArray.class, insertId)); } }