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