sqlcompletetest.groovy
来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· GROOVY 代码 · 共 121 行
GROOVY
121 行
package groovy.sqlclass SqlCompleteTest extends TestHelper { void testSqlQuery() { def sql = createSql() def results = [:] sql.eachRow("select * from PERSON") { results.put(it.firstname, it.lastname) } def expected = ["James":"Strachan", "Bob":"Mcwhirter", "Sam":"Pullara"] assert results == expected } void testSqlQueryWithWhereClause() { def sql = createSql() def foo = "drink" def results = [] sql.eachRow("select * from FOOD where type=${foo}") { results.add(it.name) } def expected = ["beer", "coffee"] assert results == expected } void testSqlQueryWithWhereClauseWith2Arguments() { def sql = createSql() def foo = "cheese" def bar = "edam" def results = [] sql.eachRow("select * from FOOD where type=${foo} and name != ${bar}") { results.add(it.name) } def expected = ["brie", "cheddar"] assert results == expected } void testSqlQueryWith2ParametersUsingQuestionMarkNotation() { def sql = createSql() def results = [] sql.eachRow("select * from FOOD where type=? and name != ?", ["cheese", "edam"]) { results.add(it.name) } def expected = ["brie", "cheddar"] assert results == expected } void testDataSet() { def sql = createSql() def results = [] def people = sql.dataSet("PERSON") people.each { results.add(it.firstname) } def expected = ["James", "Bob", "Sam"] assert results == expected } void testDataSetWithClosurePredicate() { def sql = createSql() def results = [] def food = sql.dataSet("FOOD") food.findAll { it.type == "cheese" }.each { results.add(it.name) } def expected = ["edam", "brie", "cheddar"] assert results == expected } void testUpdatingDataSet() { def sql = createSql() def results = [] def features = sql.dataSet("FEATURE") features.each { /** @todo Axion doesn't yet support ResultSet updating if (it.id == 1) { it.name = it.name + " Rocks!" println("Changing name to ${it.name}") } */ results.add(it.name) } def expected = ["GDO", "GPath", "GroovyMarkup"] assert results == expected } void testGStringToSqlConversion(){ def foo = 'loincloth' def bar = 'wasteband' def sql = createSql() def expected = "A narrow ? supported by a ?!!" def gstring = "A narrow ${foo} supported by a ${bar}!!" def result = sql.asSql(gstring, gstring.values.toList()) assert result == expected } void testExecuteUpdate(){ def foo='food-drink' def food = 'food' def drink = 'drink' def bar='guinness' def sql = createSql(); def expected = 0 def result = sql.executeUpdate("update FOOD set type=? where name=?",[foo,bar]); assert result == expected expected = 1 result = sql.executeUpdate("insert into FOOD (type,name) values (${food},${bar})"); assert result == expected result = sql.executeUpdate("insert into FOOD (type,name) values (${drink},${bar})"); assert result == expected result = sql.executeUpdate("insert into FOOD (type,name) values ('drink','guinness')"); assert result == expected expected = 3 result = sql.executeUpdate("update FOOD set type=? where name=?",[foo,bar]); assert result == expected } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?