diff options
Diffstat (limited to 'test/types_test.rb')
-rw-r--r-- | test/types_test.rb | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/test/types_test.rb b/test/types_test.rb index ff1363c..d71c737 100644 --- a/test/types_test.rb +++ b/test/types_test.rb @@ -54,11 +54,37 @@ describe Slop::FloatOption do @options = Slop::Options.new @apr = @options.float "--apr" @apr_value = 2.9 - @result = @options.parse %W(--apr #{@apr_value}) + @minus = @options.float "--minus" + @plus = @options.float "--plus" + @scientific_notation = @options.float "--scientific-notation" + @scientific_notation_value = 4e21 + @result = @options.parse %W(--apr #{@apr_value} --minus -6.1 --plus +9.4 --scientific-notation #{@scientific_notation_value}) end it "returns the value as a float" do assert_equal @apr_value, @result[:apr] + assert_equal (-6.1), @result[:minus] + assert_equal 9.4, @result[:plus] + end + + it "parses scientific notations" do + assert_equal @scientific_notation_value, @result[:scientific_notation] + + @scientific_notation_value = 4E21 + @result = @options.parse %W(--scientific-notation #{@scientific_notation_value}) + assert_equal @scientific_notation_value, @result[:scientific_notation] + + @scientific_notation_value = 4.0e21 + @result = @options.parse %W(--scientific-notation #{@scientific_notation_value}) + assert_equal @scientific_notation_value, @result[:scientific_notation] + + @scientific_notation_value = -4e21 + @result = @options.parse %W(--scientific-notation #{@scientific_notation_value}) + assert_equal @scientific_notation_value, @result[:scientific_notation] + + @scientific_notation_value = 4e-21 + @result = @options.parse %W(--scientific-notation #{@scientific_notation_value}) + assert_equal @scientific_notation_value, @result[:scientific_notation] end it "returns nil for non-numbers by default" do |