spec/bank/base_spec.rb in money-6.5.1 vs spec/bank/base_spec.rb in money-6.6.0
- old
+ new
@@ -1,77 +1,81 @@
require 'spec_helper'
-describe Money::Bank::Base do
+class Money
+ module Bank
+ describe Base do
- describe ".instance" do
- it "is local to one class" do
- klass = Money::Bank::Base
- subclass = Class.new(Money::Bank::Base)
- expect(klass.instance).not_to eq subclass.instance
- end
- end
+ describe ".instance" do
+ it "is local to one class" do
+ klass = Base
+ subclass = Class.new(Base)
+ expect(klass.instance).not_to eq subclass.instance
+ end
+ end
- describe "#initialize" do
- it "accepts a block and stores @rounding_method" do
- proc = Proc.new { |n| n.ceil }
- bank = Money::Bank::Base.new(&proc)
- expect(bank.rounding_method).to eq proc
- end
- end
+ describe "#initialize" do
+ it "accepts a block and stores @rounding_method" do
+ proc = Proc.new { |n| n.ceil }
+ bank = Base.new(&proc)
+ expect(bank.rounding_method).to eq proc
+ end
+ end
- describe "#setup" do
- it "calls #setup after #initialize" do
- class MyBank < Money::Bank::Base
- attr_reader :setup_called
+ describe "#setup" do
+ it "calls #setup after #initialize" do
+ class MyBank < Base
+ attr_reader :setup_called
- def setup
- @setup_called = true
+ def setup
+ @setup_called = true
+ end
+ end
+
+ bank = MyBank.new
+ expect(bank.setup_called).to eq true
end
end
- bank = MyBank.new
- expect(bank.setup_called).to eq true
- end
- end
+ describe "#exchange_with" do
+ it "is not implemented" do
+ expect { subject.exchange_with(Money.new(100, 'USD'), 'EUR') }.to raise_exception(NotImplementedError)
+ end
+ end
- describe "#exchange_with" do
- it "is not implemented" do
- expect { subject.exchange_with(Money.new(100, 'USD'), 'EUR') }.to raise_exception(NotImplementedError)
- end
- end
+ describe "#same_currency?" do
+ it "accepts str/str" do
+ expect { subject.send(:same_currency?, 'USD', 'EUR') }.to_not raise_exception
+ end
- describe "#same_currency?" do
- it "accepts str/str" do
- expect { subject.send(:same_currency?, 'USD', 'EUR') }.to_not raise_exception
- end
+ it "accepts currency/str" do
+ expect { subject.send(:same_currency?, Currency.wrap('USD'), 'EUR') }.to_not raise_exception
+ end
- it "accepts currency/str" do
- expect { subject.send(:same_currency?, Money::Currency.wrap('USD'), 'EUR') }.to_not raise_exception
- end
+ it "accepts str/currency" do
+ expect { subject.send(:same_currency?, 'USD', Currency.wrap('EUR')) }.to_not raise_exception
+ end
- it "accepts str/currency" do
- expect { subject.send(:same_currency?, 'USD', Money::Currency.wrap('EUR')) }.to_not raise_exception
- end
+ it "accepts currency/currency" do
+ expect { subject.send(:same_currency?, Currency.wrap('USD'), Currency.wrap('EUR')) }.to_not raise_exception
+ end
- it "accepts currency/currency" do
- expect { subject.send(:same_currency?, Money::Currency.wrap('USD'), Money::Currency.wrap('EUR')) }.to_not raise_exception
- end
+ it "returns true when currencies match" do
+ expect(subject.send(:same_currency?, 'USD', 'USD')).to be true
+ expect(subject.send(:same_currency?, Currency.wrap('USD'), 'USD')).to be true
+ expect(subject.send(:same_currency?, 'USD', Currency.wrap('USD'))).to be true
+ expect(subject.send(:same_currency?, Currency.wrap('USD'), Currency.wrap('USD'))).to be true
+ end
- it "returns true when currencies match" do
- expect(subject.send(:same_currency?, 'USD', 'USD')).to be true
- expect(subject.send(:same_currency?, Money::Currency.wrap('USD'), 'USD')).to be true
- expect(subject.send(:same_currency?, 'USD', Money::Currency.wrap('USD'))).to be true
- expect(subject.send(:same_currency?, Money::Currency.wrap('USD'), Money::Currency.wrap('USD'))).to be true
- end
+ it "returns false when currencies do not match" do
+ expect(subject.send(:same_currency?, 'USD', 'EUR')).to be false
+ expect(subject.send(:same_currency?, Currency.wrap('USD'), 'EUR')).to be false
+ expect(subject.send(:same_currency?, 'USD', Currency.wrap('EUR'))).to be false
+ expect(subject.send(:same_currency?, Currency.wrap('USD'), Currency.wrap('EUR'))).to be false
+ end
- it "returns false when currencies do not match" do
- expect(subject.send(:same_currency?, 'USD', 'EUR')).to be false
- expect(subject.send(:same_currency?, Money::Currency.wrap('USD'), 'EUR')).to be false
- expect(subject.send(:same_currency?, 'USD', Money::Currency.wrap('EUR'))).to be false
- expect(subject.send(:same_currency?, Money::Currency.wrap('USD'), Money::Currency.wrap('EUR'))).to be false
- end
-
- it "raises an UnknownCurrency exception when an unknown currency is passed" do
- expect { subject.send(:same_currency?, 'AAA', 'BBB') }.to raise_exception(Money::Currency::UnknownCurrency)
+ it "raises an UnknownCurrency exception when an unknown currency is passed" do
+ expect { subject.send(:same_currency?, 'AAA', 'BBB') }.to raise_exception(Currency::UnknownCurrency)
+ end
+ end
end
end
end