     @
     
   #
-  # my_mock = (new Mock).expects("my_method")
+  # my_mock = (new Mock).expects("my_method").expects("your_method")
   # my_mock.my_method()
-  # my_mock.check()
+  # my_mock.check()       # throws an error because your_method() was not called
   #
   check: ->
     @_check_for_uncalled_signatures()

#
# MethodSignature is an internal data structure that represents 
# a method invocation.  Stores the method name, the expected
# arguments, the value to return, and whether it has actually
# been invoked.  For example, the following:
#
#   my_mock = (new Mock).expects("my_method").args(1,2,3).returns(42)
#

    @called = false
    
  #
  # Returns true if this signature has the specified method
  # name and arguments.  For example:
  #
  #   ms = new MethodSignature("my_method")
  #   ms.args = [ 1, "a" ]
  #   ...
  #   ms.matches( "my_method", [ 1, "a" ] )     # returns true
  #   ms.matches( "your_method", [ 1, "a" ] )   # returns false
  #   ms.matches( "my_method", [ 2, "b" ] )     # returns false
  #
  matches: (method_name, args...) ->
    ( @method_name == method_name ) and
