⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jname1test.java

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 JAVA
字号:
package gls.ch06.s05;import groovy.lang.Closure;import junit.framework.TestCase;import gls.ch06.s05.testClasses.Tt1cgi;import gls.ch06.s05.testClasses.Tt1cgo;import gls.ch06.s05.testClasses.Tt1gi;import gls.ch06.s05.testClasses.Tt1go;/* * Copyright 2005 John G. Wilson * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *//** * @author John Wilson * */public class JName1Test extends TestCase {  public void testObjectSupportNameHandling() {    final Tt1go obj = new Tt1go();  // Test subclass of GroovyObjectSupport    final String newX = "new x";    final String newX1 = "new x1";    final String newX2 = "new x2";    final String newX3 = "new x3";        assertTrue(obj.getProperty("x") == obj.getX());    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x);    assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x());        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue(obj.getProperty("x") == newX);    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1);        obj.setX(newX2);    obj.x = newX3;        assertTrue(obj.getProperty("x") == newX2);    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3);  }  public void testObjectSupportNameHandling1() {    final Tt1go obj = new Tt1go() {}; // repeat test with subclass    final String newX = "new x";    final String newX1 = "new x1";    final String newX2 = "new x2";    final String newX3 = "new x3";        assertTrue(obj.getProperty("x") == obj.getX());    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x);    assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x());        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue(obj.getProperty("x") == newX);    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1);        obj.setX(newX2);    obj.x = newX3;        assertTrue(obj.getProperty("x") == newX2);    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3);  }    public void testObjectSupportNameHandlingWitnClosureValues() {    final Tt1cgo obj = new Tt1cgo();  // Test subclass of GroovyObjectSupport    final Closure newX = new Closure(null) {      public Object doCall(final Object params) {        return "new x";      }    };    final Closure newX1 = new Closure(null) {      public Object doCall(final Object params) {        return "new x1";      }    };    final Closure newX2 = new Closure(null) {      public Object doCall(final Object params) {        return "new x2";      }    };    final Closure newX3 = new Closure(null) {      public Object doCall(final Object params) {        return "new x3";      }    };        assertTrue(((Closure)obj.getProperty("x")).call() == obj.getX().call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == obj.x.call());    assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x());        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue(((Closure)obj.getProperty("x")).call() == newX.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX1.call());        obj.setX(newX2);    obj.x = newX3;        assertTrue(((Closure)obj.getProperty("x")).call() == newX2.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX3.call());  }    public void testObjectSupportNameHandlingWitnClosureValuesi() {    final Tt1cgo obj = new Tt1cgo() {};  // repeat test with subclass    final Closure newX = new Closure(null) {      public Object doCall(final Object params) {        return "new x";      }    };    final Closure newX1 = new Closure(null) {      public Object doCall(final Object params) {        return "new x1";      }    };    final Closure newX2 = new Closure(null) {      public Object doCall(final Object params) {        return "new x2";      }    };    final Closure newX3 = new Closure(null) {      public Object doCall(final Object params) {        return "new x3";      }    };        assertTrue(((Closure)obj.getProperty("x")).call() == obj.getX().call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == obj.x.call());    assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x());        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue(((Closure)obj.getProperty("x")).call() == newX.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX1.call());        obj.setX(newX2);    obj.x = newX3;        assertTrue(((Closure)obj.getProperty("x")).call() == newX2.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX3.call());  }  public void testMetaClassNameHandling() {    final Tt1gi obj = new Tt1gi();  // Test class implementing GroovyObject    final String newX = "new x";    final String newX1 = "new x1";    final String newX2 = "new x2";    final String newX3 = "new x3";        assertTrue("dynamic property".equals(obj.getProperty("x")));    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x);    assertTrue("dynamic method".equals(obj.invokeMethod("x", new Object[]{})));        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue("dynamic property".equals(obj.getProperty("x")));    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1);        obj.setX(newX2);    obj.x = newX3;        assertTrue("dynamic property".equals(obj.getProperty("x")));    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3);  }  public void testMetaClassNameHandling1() {    final Tt1gi obj = new Tt1gi() {}; // repeat test with subclass    final String newX = "new x";    final String newX1 = "new x1";    final String newX2 = "new x2";    final String newX3 = "new x3";        assertTrue("dynamic property".equals(obj.getProperty("x")));    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x);    assertTrue("dynamic method".equals(obj.invokeMethod("x", new Object[]{})));        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue("dynamic property".equals(obj.getProperty("x")));    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1);        obj.setX(newX2);    obj.x = newX3;        assertTrue("dynamic property".equals(obj.getProperty("x")));    assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3);  }  public void testMetaClassNameHandlingWithClosures() {    final Tt1cgi obj = new Tt1cgi();  // Test class implementing GroovyObject    final Closure newX = new Closure(null) {      public Object doCall(final Object params) {        return "new x";      }    };    final Closure newX1 = new Closure(null) {      public Object doCall(final Object params) {        return "new x1";      }    };    final Closure newX2 = new Closure(null) {      public Object doCall(final Object params) {        return "new x2";      }    };    final Closure newX3 = new Closure(null) {      public Object doCall(final Object params) {        return "new x3";      }    };        assertTrue(((Closure)obj.getProperty("x")).call() == obj.getX().call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == obj.x.call());    assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x());        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue(((Closure)obj.getProperty("x")).call() == newX.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX1.call());        obj.setX(newX2);    obj.x = newX3;        assertTrue(((Closure)obj.getProperty("x")).call() == newX2.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX3.call());  }  public void testMetaClassNameHandlingWithClosures1() {    final Tt1cgi obj = new Tt1cgi() {};  // repeat test with subclass    final Closure newX = new Closure(null) {      public Object doCall(final Object params) {        return "new x";      }    };    final Closure newX1 = new Closure(null) {      public Object doCall(final Object params) {        return "new x1";      }    };    final Closure newX2 = new Closure(null) {      public Object doCall(final Object params) {        return "new x2";      }    };    final Closure newX3 = new Closure(null) {      public Object doCall(final Object params) {        return "new x3";      }    };        assertTrue(((Closure)obj.getProperty("x")).call() == obj.getX().call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == obj.x.call());    assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x());        obj.setProperty("x", newX);    obj.getMetaClass().setAttribute(obj, "x", newX1);        assertTrue(((Closure)obj.getProperty("x")).call() == newX.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX1.call());        obj.setX(newX2);    obj.x = newX3;        assertTrue(((Closure)obj.getProperty("x")).call() == newX2.call());    assertTrue(((Closure)obj.getMetaClass().getAttribute(obj, "x")).call() == newX3.call());  }}

⌨️ 快捷键说明

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