Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业务

源代码在线查看: invokenormalmethodsfirsttest.groovy

软件大小: 1644 K
上传用户: maple_78
关键词: Groovy JVM 动态语言 运行
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				/**
				 * Invoke normal methods first: if no statically typed method exist, use invokeMethod().
				 *
				 * @author Guillaume Laforge
				 */
				class InvokeNormalMethodsFirstTest extends GroovyTestCase {
				
				    void testPrintln() {
				        println "call global println function"
				    }
				
				    void testStaticMethodOnJdkObject() {
				        def myString = " static method "
				        def newString = myString.trim()
				
				        assert newString == "static method"
				    }
				
				    void testCallClosure() {
				        def clos = { msg -> msg + " is Groovy" }
				        def str = clos("Guillaume")
				
				        assert str == "Guillaume is Groovy"
				    }
				
				    void testCallNormalMethodFromAGroovyDefinedClass() {
				        def p = new Printer()
				        def str = "Guillaume"
				        def result = p.returnSelf(str)
				
				        assert result == str
				    }
				
				    void testCallNormalMethodFirstFromWackyObject() {
				        def w = new Wacky()
				        def str = "Groovy"
				        def staticResult = w.returnSelf(str)
				        def invokeResult = w.nonExistingMethod(str)
				
				        assert staticResult == str
				        assert invokeResult == "invokerMethod call"
				    }
				}
				
				class Printer {
				    String returnSelf(msg) {
				        return msg
				    }
				}
				
				class Wacky {
				    String returnSelf(msg) {
				        return msg
				    }
				
				    Object invokeMethod(String name, Object args) {
				        return "invokerMethod call"
				    }
				}			

相关资源