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 + -
显示快捷键?