test/test_exchange.rb in shanna-big_money-0.2.2 vs test/test_exchange.rb in shanna-big_money-0.3.0

- old
+ new

@@ -1,21 +1,35 @@ -require 'test/unit' -require 'big_money' +# coding: utf-8 +require 'helper' +require 'big_money/exchange' -class TestExchange < Test::Unit::TestCase - def setup - @aud = BigMoney.currency(:aud) - @usd = BigMoney.currency(:usd) +class TestEx < BigMoney::Exchange + def self.read_rate(from, to) + BigDecimal.new('2') end - def test_rate - assert_kind_of BigDecimal, BigMoney::Exchange.rate(@aud, @usd) - assert_kind_of BigDecimal, BigMoney::Exchange.rate(:aud, :usd) - assert_raise BigMoney::UnknownCurrency do - BigMoney::Exchange.rate(:aud, :fud) - end + def self.currencies + BigMoney::Currency.all end +end - def test_equal_rate - assert_equal BigDecimal(1.to_s), BigMoney::Exchange.rate(:usd, :usd) +class TestExchange < Test::Unit::TestCase + context BigMoney::Exchange do + setup do + @aud = BigMoney.currency(:aud) + @usd = BigMoney.currency(:usd) + end + + should 'return rate' do + bd = BigDecimal.new('2') + assert_equal bd, BigMoney::Exchange.rate(@aud, @usd) + assert_equal bd, BigMoney::Exchange.rate(:aud, :usd) + assert_raise(ArgumentError) do + BigMoney::Exchange.rate(:aud, :fud) + end + end + + should 'return equal rate' do + assert_equal BigDecimal.new('1'), BigMoney::Exchange.rate(:usd, :usd) + end end end