docs: def expects(self, call_name):
          """Expect a call.
  
          .. doctest::
              :hide:
  
              >>> import fudge
              >>> fudge.clear_expectations()
              >>> fudge.clear_calls()
  
          If the method *call_name* is never called, then raise an error.  I.E.::
  
              >>> session = Fake('session').expects('open').expects('close')
              >>> session.open()
              >>> fudge.verify()
              Traceback (most recent call last):
              ...
              AssertionError: fake:session.close() was not called
  
          .. note::
              If you want to also verify the order these calls are made in,
              use :func:`fudge.Fake.remember_order`.  When using :func:`fudge.Fake.next_call`
              after ``expects(...)``, each new call will be part of the expected order
  
          Declaring ``expects()`` multiple times is the same as
          declaring :func:`fudge.Fake.next_call`
          """
          if call_name in self._declared_calls:
              return self.next_call(for_method=call_name)
  
          self._last_declared_call_name = call_name
          c = ExpectedCall(self, call_name, call_order=self._expected_call_order)
          self._declare_call(call_name, c)
          return self