multidimarraystest.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 62 行
GROOVY
62 行
/**
* Expose how to deal with multi-dimensional Arrays until this is supported at the language level.
* @author Dierk Koenig
* @author Jochen Theodorou
*/
package groovy;
public class MultiDimArraysTest extends GroovyTestCase {
// todo: enable as soon as multi dims are supported
void testCallTwoDimStringArray(){
def someArrayOfStringArrays = new SomeClass().anArrayOfStringArrays()
assert 1 == someArrayOfStringArrays.size()
}
void testCallTwoDimStringArrayWorkaround(){
def someArrayOfStringArrays = new SomeClass().anArrayOfStringArraysWorkaround()
assert 1 == someArrayOfStringArrays.size()
assert "whatever" == someArrayOfStringArrays[0][0]
for (i in 0..<someArrayOfStringArrays.size()) {
assert someArrayOfStringArrays[i]
}
}
void testCallTwoDimStringArrayWorkaroundWithNull(){
def someArrayOfStringArrays = new SomeClass().anArrayOfStringArraysWorkaround()
assert 1 == someArrayOfStringArrays.size()
assert "whatever" == someArrayOfStringArrays[0][0]
someArrayOfStringArrays.each(){ assert it}
}
void testInsideGroovyMultiDimReplacement(){
Object[] someArrayOfStringArrays = [["a","a","a"],["b","b","b",null]]
assert "a" == someArrayOfStringArrays[0][0]
someArrayOfStringArrays.each(){ assert it}
}
void testMultiDimCreationWithSizes(){
Object[][] objectArray = new Object[2][5]
assert objectArray.length == 2
objectArray.each {
assert it.length == 5
it.each { assert it == null }
}
}
void testMultiDimCreationWithoutSizeAtEnd() {
def array = new int[5][6][]
assert array.class.name == "[[[I"
assert array[0].class.name == "[[I"
assert array[0][0] == null
}
void testMultiDimArrayForCustomClass() {
def ff = new MultiDimArraysTest[3][4]
assert "[[Lgroovy.MultiDimArraysTest;" == ff.class.name;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?