Sha256: 9e24a7c76ce6ddf704e6826c2677c04f602751190154324de535ce6e366ccf48

Contents?: true

Size: 1.22 KB

Versions: 31

Compression:

Stored size: 1.22 KB

Contents

require 'test/unit'
require 'rubygems'
require 'mocha'

class MiscExampleTest < Test::Unit::TestCase
  
  def test_mocking_a_class_method
    product = Product.new
    Product.expects(:find).with(1).returns(product)
    assert_equal product, Product.find(1)
  end

  def test_mocking_an_instance_method_on_a_real_object
    product = Product.new
    product.expects(:save).returns(true)
    assert product.save
  end

  def test_stubbing_instance_methods_on_real_objects
    prices = [stub(:pence => 1000), stub(:pence => 2000)]
    product = Product.new
    product.stubs(:prices).returns(prices)
    assert_equal [1000, 2000], product.prices.collect {|p| p.pence}
  end

  def test_stubbing_an_instance_method_on_all_instances_of_a_class
    Product.any_instance.stubs(:name).returns('stubbed_name')
    product = Product.new
    assert_equal 'stubbed_name', product.name
  end

  def test_traditional_mocking
    object = mock()
    object.expects(:expected_method).with(:p1, :p2).returns(:result)
    assert_equal :result, object.expected_method(:p1, :p2)
  end

  def test_shortcuts
    object = stub(:method1 => :result1, :method2 => :result2)
    assert_equal :result1, object.method1
    assert_equal :result2, object.method2
  end
  
end

Version data entries

31 entries across 31 versions & 6 rubygems

Version Path
floehopper-mocha-0.9.3.20081220175348 examples/misc.rb
floehopper-mocha-0.9.3.20081230175553 examples/misc.rb
floehopper-mocha-0.9.4.20090128164727 examples/misc.rb
floehopper-mocha-0.9.5.20090201123802 examples/misc.rb
gsterndale-warrant-0.2.0 test/rails_root/vendor/gems/mocha-0.9.4/examples/misc.rb
gsterndale-warrant-0.3.0 test/rails_root/vendor/gems/mocha-0.9.4/examples/misc.rb
hashrocket-clearance-0.4.0 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
hashrocket-clearance-0.4.1 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
hashrocket-clearance-0.4.2 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
hashrocket-clearance-0.4.3 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thewoolleyman-mocha-0.9.3.20081219131457 examples/misc.rb
thoughtbot-clearance-0.2.2 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.2.3 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.2.4 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.2.5 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.2.6 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.2.7 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.2.8 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.2.9 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb
thoughtbot-clearance-0.3.0 test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb