Sha256: 4d32870defe8048a0ab71402a67225816f9ab5d7ce70a373a2f9ca2ca81c0084

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

require_relative 'spec_helper'

describe Lanes::Numbers do

    Num = Lanes::Numbers


    def test_percnum
        assert Num::PercNum.new( '5%'  ).is_percentage?, "is a percentage"
        assert Num::PercNum.new( '5% ' ).is_percentage?, "is a percentage"
        assert Num::PercNum.new( '5.3 % ' ).is_percentage?, "is a percentage"
        refute Num::PercNum.new( '$5.3 ' ).is_percentage?, "is not a percentage"
        # this is debatable, but we have to draw the line somewhere
        refute Num::PercNum.new( '%5.3 ' ).is_percentage?, "is a percentage"

        assert_equal '95.0',  Num::PercNum.new( '5'  ).debit_from(100).to_s
        assert_equal '95.0',  Num::PercNum.new( '5%' ).debit_from(100).to_s
        assert_equal '105.0', Num::PercNum.new( '5%' ).credit_to(100).to_s
        assert_equal '95.0',  Num::PercNum.new( '-5%').credit_to(100).to_s

        assert_equal '137.38449', Num::PercNum.new( '33.383%' ).credit_to(103).to_s
        assert_equal '68.61551',  Num::PercNum.new( '33.383%' ).debit_from(103).to_s
    end


end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lanes-0.0.5 spec/numbers_spec.rb
lanes-0.0.3 spec/numbers_spec.rb
lanes-0.0.2 spec/numbers_spec.rb
lanes-0.0.1 spec/numbers_spec.rb