test/tc_formula.rb in writeexcel-0.1.0 vs test/tc_formula.rb in writeexcel-0.3.0

- old
+ new

@@ -1,63 +1,63 @@ -$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib" - -require "test/unit" -require "writeexcel" - -class TC_Formula < Test::Unit::TestCase - - def setup - @formula = Formula.new(0) - end - - def test_scan - # scan must return array of token info - string01 = '1 + 2 * LEN("String")' - expected01 = [ - [:NUMBER, '1'], - ['+', '+'], - [:NUMBER, '2'], - ['*', '*'], - [:FUNC, 'LEN'], - ['(', '('], - [:STRING, '"String"'], - [')', ')'], - [:EOL, nil] - ] - assert_kind_of(Array, @formula.scan(string01)) - assert_equal(expected01, @formula.scan(string01)) - - string02 = 'IF(A1>=0,SIN(0),COS(90))' - expected02 = [ - [:FUNC, 'IF'], - ['(', '('], - [:REF2D, 'A1'], - [:GE, '>='], - [:NUMBER, '0'], - [',', ','], - [:FUNC, 'SIN'], - ['(', '('], - [:NUMBER, '0'], - [')', ')'], - [',', ','], - [:FUNC, 'COS'], - ['(', '('], - [:NUMBER, '90'], - [')', ')'], - [')', ')'], - [:EOL, nil] - ] - assert_kind_of(Array, @formula.scan(string02)) - assert_equal(expected02, @formula.scan(string02)) - end - - def test_reverse - testcase = [ - [ [0,1,2,3,4], [0,[1,[2,3,[4]]]] ], - [ [0,1,2,3,4,5], [[0,1,[2,3]],[4,5]] ] - ] - testcase.each do |t| - assert_equal(t[0], @formula.reverse(t[1])) - end - end - -end +$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib" + +require "test/unit" +require "writeexcel" + +class TC_Formula < Test::Unit::TestCase + + def setup + @formula = Formula.new(0) + end + + def test_scan + # scan must return array of token info + string01 = '1 + 2 * LEN("String")' + expected01 = [ + [:NUMBER, '1'], + ['+', '+'], + [:NUMBER, '2'], + ['*', '*'], + [:FUNC, 'LEN'], + ['(', '('], + [:STRING, '"String"'], + [')', ')'], + [:EOL, nil] + ] + assert_kind_of(Array, @formula.scan(string01)) + assert_equal(expected01, @formula.scan(string01)) + + string02 = 'IF(A1>=0,SIN(0),COS(90))' + expected02 = [ + [:FUNC, 'IF'], + ['(', '('], + [:REF2D, 'A1'], + [:GE, '>='], + [:NUMBER, '0'], + [',', ','], + [:FUNC, 'SIN'], + ['(', '('], + [:NUMBER, '0'], + [')', ')'], + [',', ','], + [:FUNC, 'COS'], + ['(', '('], + [:NUMBER, '90'], + [')', ')'], + [')', ')'], + [:EOL, nil] + ] + assert_kind_of(Array, @formula.scan(string02)) + assert_equal(expected02, @formula.scan(string02)) + end + + def test_reverse + testcase = [ + [ [0,1,2,3,4], [0,[1,[2,3,[4]]]] ], + [ [0,1,2,3,4,5], [[0,1,[2,3]],[4,5]] ] + ] + testcase.each do |t| + assert_equal(t[0], @formula.reverse(t[1])) + end + end + +end