     @_returns = undefined
     @_throws = undefined
     @called = false
-    @_original_method = undefined
     _install_mock_method(@, object, method_name)
     all_expectations.push(@)
 

#
# all_expectations
#
all_expectations = []

clear_all_expectations = ->

  expectation._throws = error

_install_mock_method = (expectation, object, method_name) ->
  object = object.prototype if is_class(object)
  original_method = object[ method_name ]
  object[ method_name ] = build_mocked_method(method_name)
  if original_method?
    expectation.uninstall_mocked_method = -> object[ method_name ] = original_method
  else
    expectation.uninstall_mocked_method = -> delete object[ method_name ]

_throw_args_usage = ->
  throw new Error( "you need to supply at least one argument to args(), e.g. my_mock.expects('my_method').args(42)" )
