package org.nutz.dao.test.sqls; import static org.junit.Assert.*; import java.util.List; import org.junit.Test; import org.nutz.dao.SqlManager; import org.nutz.dao.impl.FileSqlManager; import org.nutz.dao.sql.Sql; public class SQLFileParsingTest { private static final String PATH = "org/nutz/dao/test/sqls/sqls.sqls"; private SqlManager createSqls() { return new FileSqlManager(PATH); } @Test public void check_Count_SQL() { SqlManager sqls = createSqls(); assertEquals(10, sqls.count()); String[] keys = { ".abc.drop", ".abc.create", ".abc.insert", ".abc.update", "abc.fetch", "abc.query", ".student.drop", ".student.create"}; for (int i = 0; i < keys.length; i++) { assertEquals(keys[i], sqls.keys()[i]); } } @Test public void check_Create_SQL() { SqlManager sqls = createSqls(); Sql sql = sqls.create(".abc.create"); assertTrue(sql.toString().toUpperCase().startsWith("CREATE")); } @Test public void check_Insert_SQL() { SqlManager sqls = createSqls(); Sql sql = sqls.create(".abc.insert"); assertTrue(sql.toString().toUpperCase().startsWith("INSERT")); } @Test public void check_Update_SQL() { SqlManager sqls = createSqls(); Sql sql = sqls.create(".abc.update"); assertTrue(sql.toString().toUpperCase().startsWith("UPDATE")); } @Test public void check_Fetch_SQL() { SqlManager sqls = createSqls(); Sql sql = sqls.create("abc.fetch"); assertTrue(sql.toString().toUpperCase().startsWith("SELECT")); } @Test public void check_Query_SQL() { SqlManager sqls = createSqls(); Sql sql = sqls.create("abc.query"); assertTrue(sql.toString().toUpperCase().startsWith("SELECT")); } @Test public void check_PersonTestSQLs() { SqlManager sqls = new FileSqlManager("org/nutz/dao/test/sqls/sqls.sqls"); String[] keys = { ".abc.drop", ".abc.create", ".abc.insert", ".abc.update", "abc.fetch", "abc.query", ".student.drop", ".student.create", ".student2.drop", ".student2.create"}; for (int i = 0; i < keys.length; i++) { assertEquals(keys[i], sqls.keys()[i]); } } @Test public void check_parse_comboSqls() { SqlManager sqls = new FileSqlManager("org/nutz/dao/test/sqls/sqls.sqls"); List<Sql> list = sqls.createCombo(); assertEquals(10, list.size()); } @Test public void test_parse_whole_directory() { SqlManager sqls = new FileSqlManager("org/nutz/dao/test/sqls/dir"); assertTrue(sqls.count() > 0); Sql sql = sqls.create(".abc.update"); sql.params().set("name", "ABC"); sql.params().set("id", 16); assertEquals("UPDATE t_abc SET name='ABC' WHERE id=16;", sql.toString()); } }