1 exercism fetch ceylon bracket-push 

#### source/bracketpush/BracketsTest.ceylon

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import ceylon.test { ... } // Tests adapted from problem-specifications version 1.3.0 {[String, Boolean]*} cases => { // paired square brackets ["[]", true], // empty string ["", true], // unpaired brackets ["[[", false], // wrong ordered brackets ["}{", false], // wrong closing bracket ["{]", false], // paired with whitespace ["{ }", true], // partially paired brackets ["{[])", false], // simple nested brackets ["{[]}", true], // several paired brackets ["{}[]", true], // paired and nested brackets ["([{}({}[])])", true], // unopened closing brackets ["{[)][]}", false], // unpaired and nested brackets ["([{])", false], // paired and wrong nested brackets ["[({]})", false], // math expression ["(((185 + 223.85) * 15) - 543)/2", true], // complex latex expression ["\\left(\\begin{array}{cc} \\frac{1}{3} & x\\\\ \\mathrm{e}^{x} &... x^2 \\end{array}\\right)", true] }; test parameters (value cases) void testBalanced(String brackets, Boolean expected) { assertEquals(balanced(brackets), expected); }