From 39f466a51d1aedd89c32eabc6ff8ee6ae41f5bed Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 15 Jan 2010 20:03:16 -0800 Subject: caching string conversions in the scalar scanner --- test/test_scalar_scanner.rb | 48 +++++++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 28 deletions(-) (limited to 'test') diff --git a/test/test_scalar_scanner.rb b/test/test_scalar_scanner.rb index b05698b..483fa21 100644 --- a/test/test_scalar_scanner.rb +++ b/test/test_scalar_scanner.rb @@ -8,68 +8,60 @@ class TestScalarScanner < MiniTest::Unit::TestCase '2001-12-14 21:59:43.10 -5', '2001-12-15 2:59:43.10', ].each do |time| - ss = Psych::ScalarScanner.new time - assert_instance_of Time, ss.tokenize + ss = Psych::ScalarScanner.new + assert_instance_of Time, ss.tokenize(time) end end + attr_reader :ss + + def setup + @ss = Psych::ScalarScanner.new + end + def test_scan_date date = '1980-12-16' - ss = Psych::ScalarScanner.new date - token = ss.tokenize + token = @ss.tokenize date assert_equal 1980, token.year assert_equal 12, token.month assert_equal 16, token.day end def test_scan_inf - ss = Psych::ScalarScanner.new('.inf') - assert_equal 1 / 0.0, ss.tokenize + assert_equal 1 / 0.0, ss.tokenize('.inf') end def test_scan_minus_inf - ss = Psych::ScalarScanner.new('-.inf') - assert_equal -1 / 0.0, ss.tokenize + assert_equal -1 / 0.0, ss.tokenize('-.inf') end def test_scan_nan - ss = Psych::ScalarScanner.new('.nan') - assert ss.tokenize.nan? + assert ss.tokenize('.nan').nan? end def test_scan_null - ss = Psych::ScalarScanner.new('null') - assert_equal nil, ss.tokenize - - ss = Psych::ScalarScanner.new('~') - assert_equal nil, ss.tokenize - - ss = Psych::ScalarScanner.new('') - assert_equal nil, ss.tokenize + assert_equal nil, ss.tokenize('null') + assert_equal nil, ss.tokenize('~') + assert_equal nil, ss.tokenize('') end def test_scan_symbol - ss = Psych::ScalarScanner.new(':foo') - assert_equal :foo, ss.tokenize + assert_equal :foo, ss.tokenize(':foo') end def test_scan_sexagesimal_float - ss = Psych::ScalarScanner.new('190:20:30.15') - assert_equal 685230.15, ss.tokenize + assert_equal 685230.15, ss.tokenize('190:20:30.15') end def test_scan_sexagesimal_int - ss = Psych::ScalarScanner.new('190:20:30') - assert_equal 685230, ss.tokenize + assert_equal 685230, ss.tokenize('190:20:30') end def test_scan_float - ss = Psych::ScalarScanner.new('1.2') - assert_equal 1.2, ss.tokenize + assert_equal 1.2, ss.tokenize('1.2') end def test_scan_true - ss = Psych::ScalarScanner.new('true') - assert_equal true, ss.tokenize + assert_equal true, ss.tokenize('true') end end -- cgit v1.2.3