3: Green

[~/local/src/ruby/LPP/rspec_examples/rpcalculator(master)]$ cat lib/math/rpcalc.rb 
module Math
  class RPCalc
    attr_accessor :stack

    def initialize()
      @stack = []
    end

    def calc(expr)
      @stack = []
      expr.split(/\s+/).each do |x|
      case x
        when '+', '*', '-', '/' 
          #
        when /^-?\s*\d+(\.\d+)?([eE][+-]?\d+)?\s*$/
          #
        else
          raise SyntaxError, "Error. found '#{x}'. Expected number or operator"       
        end
      end
    end

  end  # class RPCalc
end    # Math

[~/local/src/ruby/LPP/rspec_examples/rpcalculator(master)]$ rake spec
rspec -Ilib -Ispec spec/math/rpcalc_spec.rb

Math::RPCalc
  When an erroneous input is given
    must raise an exception

Finished in 0.0018 seconds
1 example, 0 failures



Casiano Rodriguez León 2015-01-07