groovycategorytest.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 44 行

GROOVY
44
字号
package org.codehaus.groovy.runtime

class GroovyCategoryTest extends GroovyTestCase {
	void testUseWithVarArg() {
		// Make sure I didn't break use(Category, Closure)
		use (Category1) {
			assert "HeLlO".upper() == "HELLO"
		}

        // Make sure I didn't break use([Category, Category], Closure)
        use ([Category1, Category2]) {
            assert "HeLlO".upper() == "HELLO"
            assert "HeLlO".lower() == "hello"
        }
	
		// Try out the new vararg version implemented in DGM
		use (Category1, Category2) {
			assert "HeLlO".upper() == "HELLO"
			assert "HeLlO".lower() == "hello"
		}
		
		// This should fail
		try {
			use (Category1)
			fail()
		} catch (IllegalArgumentException e) {
		}
		
		// And so should this
		try {
			use (Category1, Category2)
			fail()
		} catch (IllegalArgumentException e) {
		}
	}
}

class Category1 {
	static String upper(String message) { return message.toUpperCase() }
}

class Category2 {
	static String lower(String message) { return message.toLowerCase() }
}

⌨️ 快捷键说明

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