# -*- coding: utf-8 -*-
-require 'reader/expression_parser'
+require 'builder/expression_parser'
module Mint
class InvalidExpressionError < StandardError; end
- module Reader
+ module Builder
class << self
- def read(expression)
+ def build(expression)
parser = ExpressionParser.new
parser.parse(expression)
rescue
require File.dirname(__FILE__) + '/spec_helper.rb'
module Mint
- describe Reader do
+ describe Builder do
- subject { Reader }
+ subject { Builder }
context 'acceptance test' do
].each do |expression|
it "valid expression (#{expression})" do
pending 'regacy style'
- etree = subject.read(expression)
+ etree = subject.build(expression)
etree.should be_an_instance_of(ExpressionTree)
etree.to_s.should == expression
end
it "invalid expression (#{expression})" do
pending 'regacy style'
expect {
- subject.read(expression)
+ subject.build(expression)
}.to raise_error(InvalidExpressionError)
end
end
'2+3-1',
].each do |expr|
it "without parenthesis #{expr}" do
- expect { subject.read(expr) }.to_not raise_error
+ expect { subject.build(expr) }.to_not raise_error
end
end
'2 * (3) + 5',
].each do |expr|
it "with parenthesis #{expr}" do
- expect { subject.read(expr) }.to_not raise_error
+ expect { subject.build(expr) }.to_not raise_error
end
end
end
'2 * + 3',
].each do |expr|
it "without parenthesis #{expr}" do
- expect { subject.read(expr) }.to raise_error
+ expect { subject.build(expr) }.to raise_error
end
end
'2 () * 3 + 5',
].each do |expr|
it "with parenthesis #{expr}" do
- expect { subject.read(expr) }.to raise_error
+ expect { subject.build(expr) }.to raise_error
end
end
end