persontest.groovy

来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· GROOVY 代码 · 共 65 行

GROOVY
65
字号
package groovy.sqlimport javax.sql.DataSourceimport org.axiondb.jdbc.AxionDataSourceclass PersonTest extends GroovyTestCase {    def type        void testFoo() {        def persons = createDataSet()		        def blogs = persons.findAll { it.lastName == "Bloggs" }		        assertSql(blogs, "select * from person where lastName = ?", ['Bloggs'])    }    void testWhereWithAndClause() {        def persons = createDataSet()		        def blogs = persons.findAll { it.lastName == "Bloggs" }                def bigBlogs = blogs.findAll { it.size > 100 }		        assertSql(bigBlogs, "select * from person where lastName = ? and size > ?", ['Bloggs', 100])    }    void testWhereClosureWithAnd() {        def persons = createDataSet()		        def blogs = persons.findAll { it.size < 10 && it.lastName == "Bloggs" }		        assertSql(blogs, "select * from person where size < ? and lastName = ?", [10, 'Bloggs'])    }     protected def compareFn(value) {        value > 1 && value < 10    }        protected def assertSql(dataSet, expectedSql, expectedParams) {        def sql = dataSet.sql        def params = dataSet.parameters        assert sql == expectedSql        assert params == expectedParams    }        protected DataSource createDataSource() {        return new AxionDataSource("jdbc:axiondb:foo" + getMethodName())    }        protected def createDataSet() {        def type = Person        assert type != null , "failed to load Person class"        def dataSource = createDataSource()        def sql = new Sql(dataSource)        return sql.dataSet(type)    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?