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

📄 groovyclosuremethodstest.groovy

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 GROOVY
字号:
/** * Test case for the eachObject method on a file containing * zero, one or more objects (object stream).  Also test cases * for eachDir, eachFileMatch and runAfter methods. * * @author Hein Meling */class GroovyClosureMethodsTest extends GroovyTestCase {    private String dirname_target = "target"    private String dirname_source = "src/test/groovy"    private String filename = "${dirname_target}/GroovyClosureMethodsTest.each.object"    void testEachObjectMany() {        def file = new File(filename)        def oos = new ObjectOutputStream(new FileOutputStream(file))        def list = [1, 2, 3, "foo", 9, "bar", 191, file, 9129]        list.each {            oos.writeObject(it)        }        println("Contents of file with multiple objects: " + file)        int c = 0        file.eachObject {            print "${it} "            c++        }        assert list.size() == c        println ""        //ensure to remove the created file        file.delete()    }    void testEachObjectOne() {        def file = new File(filename)        def oos = new ObjectOutputStream(new FileOutputStream(file))        oos.writeObject(file)        println("Contents of file with one object: " + file)        int c = 0        file.eachObject {            print "${it} "            c++        }        assert c == 1        println ""        //ensure to remove the created file        file.delete()    }    void testEachObjectEmptyFile() {        def file = new File(filename)        def oos = new ObjectOutputStream(new FileOutputStream(file))        println("Contents of empty file: " + file)        int c = 0        file.eachObject {            print "${it} "            c++        }        assert c == 0        println ""        //ensure to remove the created file        file.delete()    }    void testEachObjectNullFile() {        def file = new File(filename)        def oos = new ObjectOutputStream(new FileOutputStream(file))        oos.writeObject(null)        oos.writeObject("foo")        oos.writeObject(null)        println("Contents of null file: " + file)        int c = 0        file.eachObject {            print "${it} "            c++        }        assert c == 3        println ""        //ensure to remove the created file        file.delete()    }    void testEachDir() {        def dir = new File(dirname_source)        println("Directories in: " + dir)        int c = 0        dir.eachDir {            print "${it} "            c++        }        println ""        assert c > 0    }    void testEachFileMatch() {        def file = new File(dirname_source)        print "Files with the text Groovy: "        file.eachFileMatch(~"^Groovy.*") {            print "${it} "        }        println ""        print "Files with the text Closure: "        file.eachFileMatch(~"^Closure.*") {            print "${it} "        }        println ""        print "This file is here: "        int c = 0        file.eachFileMatch(~"^GroovyClosureMethodsTest.groovy") {            print "${it} "            c++        }        assert c == 1        println ""    }    void testEachFileOnNonExistingDir() {        shouldFail {            File dir = new File("SomeNonExistingDir")            dir.eachFile {                println "${it} "            }        }    }    void testEachFileOnNonDirFile() {        shouldFail {            File dir = new File("${dirname_source}/GroovyClosureMethodsTest.groovy")            dir.eachFile {                println "${it} "            }        }    }    void testRunAfter() {        def timer = new Timer()        boolean status = false        timer.runAfter(2000) {            println "Running after 2 seconds wait"            status = true        }        println "I should run first"        assert status == false        Thread.sleep(3000)        println "I should run last"        assert status == true    }    void testSplitEachLine() {        String s = """A B C DE F G H1 2 3 4"""        Reader reader = new StringReader(s)        def all_lines = []        reader.splitEachLine(" ") { list ->            all_lines << list        }        assert all_lines == [["A", "B", "C", "D"], ["E", "F", "G", "H"], ["1", "2", "3", "4"]]    }}

⌨️ 快捷键说明

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