package li.model; import static org.junit.Assert.assertNotNull; import java.sql.Connection; import java.sql.ResultSet; import java.util.List; import javax.sql.DataSource; import li.dao.QueryRunner; import li.dao.test._User; import li.ioc.Ioc; import li.test.BaseTest; import org.junit.After; import org.junit.Before; import org.junit.Test; public class FieldTest extends BaseTest { private Class<?> targetType; private Boolean annotated; private DataSource dataSource; private String table; private ResultSet resultSet; private Connection connection; private QueryRunner queryRunner; @Before public void before() { targetType = _User.class; annotated = true; dataSource = Ioc.get(DataSource.class); table = "t_account"; try { connection = dataSource.getConnection(); queryRunner = new QueryRunner(connection); resultSet = queryRunner.executeQuery("SELECT * FROM " + table + " WHERE 1=2"); } catch (Exception e) { throw new RuntimeException(e); } } @After public void after() { try { resultSet.close(); queryRunner.close(); connection.close(); } catch (Exception e) { throw new RuntimeException(e); } } @Test public void listByAnnotation() { List<Field> fields = Field.list(targetType, annotated); assertNotNull(fields); } @Test public void listByTableName() { List<Field> fields = Field.list(dataSource, table); assertNotNull(fields); } @Test public void listByResultSet() { List<Field> fields = Field.list(resultSet); assertNotNull(fields); } }