orderbytest.groovy
来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· GROOVY 代码 · 共 55 行
GROOVY
55 行
class OrderByTest extends GroovyTestCase { void testSortByOneField() { def builder = new NodeBuilder() def tree = builder.people { person(name:'James', cheese:'Edam', location:'London') person(name:'Bob', cheese:'Cheddar', location:'Atlanta') person(name:'Chris', cheese:'Red Leicester', location:'London') person(name:'Joe', cheese:'Brie', location:'London') } def people = tree.children() /** @todo parser should allow this syntax sugar def order = new OrderBy { it.get('@cheese') } */ def order = new OrderBy( { it.get('@cheese') } ) def sorted = people.sort(order) assert sorted.get(0).get('@name') == 'Joe' assert sorted.get(1).get('@name') == 'Bob' assert sorted.get(2).get('@name') == 'James' assert sorted.get(3).get('@name') == 'Chris' order = new OrderBy( { it.get('@name') } ) sorted = people.sort(order) assert sorted.get(0).get('@name') == 'Bob' assert sorted.get(1).get('@name') == 'Chris' assert sorted.get(2).get('@name') == 'James' assert sorted.get(3).get('@name') == 'Joe' } void testSortByMultipleFields() { def builder = new NodeBuilder() def tree = builder.people { person(name:'James', cheese:'Edam', location:'London') person(name:'Bob', cheese:'Cheddar', location:'Atlanta') person(name:'Chris', cheese:'Red Leicester', location:'London') person(name:'Joe', cheese:'Brie', location:'London') } def people = tree.children() def order = new OrderBy([ { it.get('@location') }, { it.get('@cheese') } ]) def sorted = people.sort(order) assert sorted.get(0).get('@name') == 'Bob' assert sorted.get(1).get('@name') == 'Joe' assert sorted.get(2).get('@name') == 'James' assert sorted.get(3).get('@name') == 'Chris' }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?