Unit conversion

This commit is contained in:
Dan Elbert 2016-01-15 16:15:50 -06:00
parent 5f955564fb
commit 517bf35705
2 changed files with 6 additions and 0 deletions

View File

@ -119,6 +119,10 @@ module UnitConversion
rational_val = converted.to_r.rationalize(0.001)
if rational_val.denominator == 1
rational_val.to_i.to_s
elsif rational_val.denominator < rational_val.numerator.abs
whole = rational_val.floor
fraction = rational_val - whole
"#{whole} #{fraction}"
else
rational_val.to_s
end

View File

@ -38,6 +38,8 @@ RSpec.describe UnitConversion do
expect(UnitConversion.convert('8', '1', 'tablespoon', 'cup')).to eq '1/2'
expect(UnitConversion.convert('1', '1', 'tablespoon', 'cup')).to eq '1/16'
expect(UnitConversion.convert('2.0', '1', 'tablespoon', 'cup')).to eq '0.125'
expect(UnitConversion.convert('2/3', '1', 'tablespoon', 'teaspoons')).to eq '2'
expect(UnitConversion.convert('2', '4', 'teaspoons', 'tablespoons')).to eq '2 2 /3'
end
it 'scales odd units without conversion' do