Sha256: dde2db8e5651fc3a77db0db1e5e36a9a95e04ce8dceacf592f14f68d414d7cf6

Contents?: true

Size: 1.31 KB

Versions: 3

Compression:

Stored size: 1.31 KB

Contents

require File.join(File.dirname(__FILE__), "..", "test_helper")
require 'stubba/stubba'
require 'mocha/mock'

class StubbaTest < Test::Unit::TestCase
  
  include Stubba
  include Mocha
  
  def test_should_start_with_empty_stubba_methods
    stubba = Stubba.new
    
    assert_equal [], stubba.stubba_methods
  end
  
  def test_should_stub_method_if_not_already_stubbed
    method = Mock.new
    method.expects(:stub)
    stubba = Stubba.new
    
    stubba.stub(method)
    
    method.verify
  end
  
  def test_should_not_stub_method_if_already_stubbed
    method = Mock.new
    method.expects(:stub).times(0)
    stubba = Stubba.new
    stubba_methods = Mock.new
    stubba_methods.stubs(:include?).with(method).returns(true)
    stubba.stubba_methods = stubba_methods
    
    stubba.stub(method)
    
    method.verify
  end
  
  def test_should_record_method
    method = Mock.new
    method.expects(:stub)
    stubba = Stubba.new
    
    stubba.stub(method)
    
    assert_equal [method], stubba.stubba_methods
  end
  
  def test_should_unstub_all_methods
    stubba = Stubba.new
    method_1 = Mock.new(:unstub => nil)
    method_2 = Mock.new(:unstub => nil)
    stubba.stubba_methods = [method_1, method_2]

    stubba.unstub_all
    
    assert_equal [], stubba.stubba_methods
    method_1.verify
    method_2.verify
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mocha-0.1 test/stubba/stubba_test.rb
mocha-0.1.1 test/stubba/stubba_test.rb
mocha-0.1.2 test/stubba/stubba_test.rb