<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def expects(self, call_name):
 """Expect a call. .. doctest:: :hide: If the method *call_name* is never called, then raise an error. I.E.:: 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` 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