'Weight converter'
Trying to get the hang of using stubs but I can't get the format right, what do I have wrong? I know I already have the method in the code in this case but I am trying to learn how to do a stub correctly.
Test:
describe "Convert Pounds to Kilograms" do
it "should convert 3lb to 1kg" do
weight = WeightConverter.stub!(:convert).with(3, 'lbs_to_kgs').and_return(1)
weight.should == 1
end
Code:
class WeightConverter
def self.convert(from, what_to_what)
if what_to_what == 'lbs_to_kgs'
(from / 2.2).truncate
elsif what_to_what == 'kgs_to_lbs'
(from * 2.2).truncate
end
end
end
fyi - this works (without stubs)
it "should convert 91lbs to 41kgs" do
weight = WeightConverter.convert(91, 'lbs_to_kgs')
weight.should == 41
end
Error:
Failures:
1) Convert Pounds to Kilograms should convert 3lb to 1kg
Failure/Error: weight.should == 1
expected: 1
got: #<Proc:0x000000010b0468@/home/durrantm/.rvm/gems/ruby-1.9.3-p125/gems/rspec-mocks-2.10.1/lib/rspec/mocks/message_expectation.rb:459 (lambda)> (using ==)
# ./weight_converter_spec.rb:19:in `block (2 levels) in <top (required)>'
Finished in 0.00513 seconds
7 examples, 1 failure