code: def IsSatisfied(self):
      
      # NOTE(psycho): We can't use the simple set difference here because we want
      # to match different parameters which are considered the same e.g. IsA(str)
      # and some string. This solution is O(n^2) but n should be small.
      tmp = self._methods.copy()
      for called in self._methods_called:
        for expected in tmp:
          if called == expected:
            tmp.remove(expected)
            if not tmp:
              return True
            break
      return False
docs: Return True if all methods in this group are called at least once.