 
   # private
 
-  _check_args_usage = (self, args) ->
+  check_args_usage = (self, args) ->
     fail(messages.ArgsUsage) if args.length == 0
     fail(messages.ArgsUsedMoreThanOnce) unless self._args.length == 0
     fail(messages.ArgsUsedAfterReturnsOrThrows) if self._returns? or self._throws?
 
-  _check_returns_usage = (self, value, arg_count) ->
+  check_returns_usage = (self, value, arg_count) ->
     fail(messages.ReturnsUsage) unless value?
     fail(messages.ReturnsUsage) unless arg_count == 1
     fail(messages.ReturnsUsedMoreThanOnce) if self._returns?
     fail(messages.ReturnsAndThrowsBothUsed) if self._throws?
 
-  _check_throws_usage = (self, error, arg_count) ->
+  check_throws_usage = (self, error, arg_count) ->
     fail(messages.ThrowsUsage) unless error?
     fail(messages.ThrowsUsage) unless arg_count == 1
     fail(messages.ThrowsUsedMoreThanOnce) if self._throws?

    @_called = no

  args: (args...) ->
    _check_args_usage(@, args)
    @_args = args
    @

  returns: (value) ->
    _check_returns_usage(@, value, arguments.length)
    @_returns = value
    @

  throws: (error) ->
    _check_throws_usage(@, error, arguments.length)
    @_throws = error
    @


#
mock = (args...) ->
  
  test_function = undefined
  expects_method_name = undefined
  mock_count = undefined
  mock_objects = undefined
  mock_methods = undefined

  load_args = (args) ->
    check_usage(args)
