for expr,res in [ ['2+3' => 5], ['-4-3' => -7], ['-+2+3/4' => -1.25], ['2*3-4' => 2], ['2*(3+4)+2/4' => 2/4 + 14], ['2*-3--4+-0.25' => -2.25], ['2 * (3 + (4 * 5 + (6 * 7) * 8) - 9) * 10' => 7000], ] {  var num = evalArithmeticExp(expr) assert_eq(num, res) "%-45s == %10g\n".printf(expr, num) }