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

📄 breakcontinuelabeltest.groovy

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 GROOVY
字号:
/** * todo: add BreakContinueLabelWithClosureTest (when break is used to return from a Closure) * @author Dierk Koenig */class BreakContinueLabelTest extends GroovyTestCase {    void testDeclareSimpleLabel() {        label_1: assert true        label_2:        assert true    }    void testBreakLabelInSimpleForLoop() {        label_1: for (i in [1]) {            break label_1            assert false        }    }    void testBreakLabelInNestedForLoop() {        label: for (i in [1]) {            for (j in [1]){                break label                assert false, 'did not break inner loop'            }            assert false, 'did not break outer loop'        }    }    void testUnlabelledBreakInNestedForLoop() {        def reached = false        for (i in [1]) {            for (j in [1]){                break                assert false, 'did not break inner loop'            }            reached = true        }        assert reached, 'must not break outer loop'    }    void testBreakLabelInSimpleWhileLoop() {        label_1: while (true) {            break label_1            assert false        }    }    void testBreakLabelInNestedWhileLoop() {        def count = 0        label: while (count < 1) {            count++            while (true){                break label                assert false, 'did not break inner loop'            }            assert false, 'did not break outer loop'        }    }    void testBreakLabelInNestedMixedForAndWhileLoop() {        def count = 0        label_1: while (count < 1) {            count++            for (i in [1]){                break label_1                assert false, 'did not break inner loop'            }            assert false, 'did not break outer loop'        }        label_2: for (i in [1]) {            while (true){                break label_2                assert false, 'did not break inner loop'            }            assert false, 'did not break outer loop'        }    }    void testUnlabelledContinueInNestedForLoop() {        def log = ''        for (i in [1,2]) {            log += i            for (j in [3,4]){                if (j==3) continue                log += j            }        }        assertEquals '1424',log    }    void testContinueLabelInNestedForLoop() {        def log = ''        label: for (i in [1,2]) {            log += i            for (j in [3,4]){                if (j==4) continue label                log += j            }            log += 'never reached'        }        assertEquals '1323',log    }}

⌨️ 快捷键说明

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