Class: TestRoman
- Defined in:
- lib/innate/test/testroman.rb
Instance Method Summary collapse
-
#test_full_range ⇒ Object
Since it works already I don’t really need more detailed tests.
- #test_interpolate_regexp ⇒ Object
- #test_interpolate_regexp2 ⇒ Object
- #test_lower_case ⇒ Object
- #test_toggle1 ⇒ Object
- #test_toggle2 ⇒ Object
Instance Method Details
#test_full_range ⇒ Object
Since it works already I don’t really need more detailed tests. If it breaks, break this down.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/innate/test/testroman.rb', line 7 def test_full_range r = (1..4999).inject(['']) { |lon, v| lon.unshift v.roman if v.roman.length > lon.first.length lon }.delete_if {|v| v == ''}.reverse.collect {|v| [v, v.roman_to_i] } assert_equal([["I", 1], ["II", 2], ["III", 3], ["VIII", 8], ["XVIII", 18], ["XXVIII", 28], ["XXXVIII", 38], ["LXXXVIII", 88], ["CLXXXVIII", 188], ["CCLXXXVIII", 288], ["CCCLXXXVIII", 388], ["DCCCLXXXVIII", 888], ["MDCCCLXXXVIII", 1888], ["MMDCCCLXXXVIII", 2888], ["MMMDCCCLXXXVIII", 3888], ["MMMMDCCCLXXXVIII", 4888]], r) end |
#test_interpolate_regexp ⇒ Object
43 44 45 46 |
# File 'lib/innate/test/testroman.rb', line 43 def test_interpolate_regexp assert_equal('(?-mix:valiant(' + Regexp.ROMAN_PATTERN + ')soldier)', (/valiant(roman)soldier/).interpolate_roman.to_s) end |
#test_interpolate_regexp2 ⇒ Object
48 49 50 51 |
# File 'lib/innate/test/testroman.rb', line 48 def test_interpolate_regexp2 assert_equal('(?i-mx:valiant(' + Regexp.ROMAN_PATTERN + ')soldier)', (/valiant(roman)soldier/i).interpolate_roman.to_s) end |
#test_lower_case ⇒ Object
31 32 33 |
# File 'lib/innate/test/testroman.rb', line 31 def test_lower_case assert_equal 1914, 'mcmxiv'.roman_to_i end |
#test_toggle1 ⇒ Object
35 36 37 |
# File 'lib/innate/test/testroman.rb', line 35 def test_toggle1 assert_equal '1914', '1914'.toggle_roman.toggle_roman end |
#test_toggle2 ⇒ Object
39 40 41 |
# File 'lib/innate/test/testroman.rb', line 39 def test_toggle2 assert_equal 'MCMXLIV', 'mcmxliv'.toggle_roman.toggle_roman end |