Sha256: b5a6f4f533c763edfb495bbf12306102da3589731745bb91b98d7a3d9117ebd4

Contents?: true

Size: 1.25 KB

Versions: 12

Compression:

Stored size: 1.25 KB

Contents

#!/usr/bin/env ruby

require 'test/unit'
require 'flexmock'

class FlexMock
  module StubsAndExpects
    def expects(*args)
      result = should_receive(*args)
      result.at_least.once unless result.call_count_constrained?
      result
    end
    def stubs(*args)
      should_receive(*args)
    end
  end

  module MockContainer
    alias :mock :flexmock
    alias :stub :flexmock
  end

  include StubsAndExpects

  class PartialMockProxy
    include StubsAndExpects
    MOCK_METHODS << :stubs << :expects
  end
end

class AliasingTest < Test::Unit::TestCase
  include FlexMock::TestCase

  def test_mocking
    m = mock("a cute dog").expects(:pat).twice.and_return(:woof!).mock
    assert_equal :woof!, m.pat
    assert_equal :woof!, m.pat
  end
  
  def test_once_mocking
    m = mock("a cute dog").expects(:pat).and_return(:woof!).mock
  end
  
  def test_twice_mocking
    m = mock("a cute dog").expects(:pat).and_return(:woof!).twice.mock
    assert_raises(Test::Unit::AssertionFailedError) { m.flexmock_verify }
  end
  
  def test_stubbing
    m = stub("a cute dog").expects(:pat).and_return(:woof!).mock
    assert_equal :woof!, m.pat
  end
  
  def test_partial
    obj = Object.new
    stub(obj).stubs(:wag).and_return(:tail)
    assert_equal :tail, obj.wag
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
flexmock-0.8.11 test/test_aliasing.rb
flexmock-0.8.10 test/test_aliasing.rb
flexmock-0.8.9 test/test_aliasing.rb
flexmock-0.8.8 test/test_aliasing.rb
flexmock-0.8.7 test/test_aliasing.rb
flexmock-0.8.1 test/test_aliasing.rb
flexmock-0.8.0 test/test_aliasing.rb
flexmock-0.8.4 test/test_aliasing.rb
flexmock-0.8.6 test/test_aliasing.rb
flexmock-0.8.3 test/test_aliasing.rb
flexmock-0.8.2 test/test_aliasing.rb
flexmock-0.8.5 test/test_aliasing.rb