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

📄 propertytest.groovy

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 GROOVY
字号:
/**  * Tests the use of properties in Groovy *  * @author <a href="mailto:james@coredevelopers.net">James Strachan</a> * @version $Revision: 1.14 $ */class PropertyTest extends GroovyTestCase {    void testNormalPropertyGettersAndSetters() {                println("About to create Foo")                def foo = new Foo()        println("created ${foo}")                def value = foo.getMetaClass()                println("metaClass ${value}")                println(foo.inspect())                println("name ${foo.name}, blah ${foo.blah}")                assert foo.name == "James"        assert foo.getName() == "James"                assert foo.location == "London"        assert foo.getLocation() == "London"                assert foo.blah == 9        assert foo.getBlah() == 9                foo.name = "Bob"        foo.location = "Atlanta"                assert foo.name == "Bob"        assert foo.getName() == "Bob"                assert foo.location == "Atlanta"        assert foo.getLocation() == "Atlanta"    }        void testOverloadedGetter() {                def foo = new Foo()        println("count ${foo.count}")                assert foo.getCount() == 1        assert foo.count == 1                foo.count = 7                assert foo.count == 7        assert foo.getCount() == 7    }    void testNoSetterAvailableOnPrivateProperty() {        def foo = new Foo()                // methods should fail on non-existent method calls        shouldFail { foo.blah = 4 }        shouldFail { foo.setBlah(4) }    }        void testCannotSeePrivateProperties() {        def foo = new Foo()        // def access fails on non-existent def        //shouldFail { def x = foo.invisible } //todo: correct handling of access rules        // methods should fail on non-existent method calls        shouldFail { foo.getQ() }    }    void testConstructorWithNamedProperties() {        def foo = new Foo(name:'Gromit', location:'Moon')                assert foo.name == 'Gromit'        assert foo.location == 'Moon'                println("created bean ${foo.inspect()}")    }        void testToString() {        def foo = new Foo(name:'Gromit', location:'Moon')        println foo    }    void testArrayLengthProperty() {        // create two arrays, since all use the same MetaArrayLengthProperty object -        // make sure it can work for all types and sizes        def i = new Integer[5]        def s = new String[10]        // put something in it to make sure we're returning the *allocated* length, and        // not the *used* length        s[0] = "hello"        assert i.length == 5        assert s.length == 10        // this def does not mean there is a getLength() method        shouldFail { i.getLength() }        // verify we can't set this def, it's read-only        shouldFail { i.length = 6 }    }    void testGstringAssignment() {        def foo = new Foo()        foo.body = "${foo.name}"        assert foo.body == "James"    }        void testFinalProperty() {      def shell = new GroovyShell();      def text = """        class A {           final foo = 1        }        A.class.declaredMethods.each {          assert it.name!="setFoo"                  }        assert new A().foo==1      """      shell.evaluate(text);    }}

⌨️ 快捷键说明

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