def tuple_count(self, stream, count, exact=True): """Test that a stream contains a number of tuples. If `exact` is `True`, then condition becomes valid when `count` tuples are seen on `stream` during the test. Subsequently if additional tuples are seen on `stream` then the condition fails and can never become valid. If `exact` is `False`, then the condition becomes valid once `count` tuples are seen on `stream` and remains valid regardless of any additional tuples. Args: stream(Stream): Stream to be tested. count(int): Number of tuples expected. exact(bool): `True` if the stream must contain exactly `count` tuples, `False` if the stream must contain at least `count` tuples. Returns: Stream: stream """ _logger.debug("Adding tuple count (%d) condition to stream %s.", count, stream) name = stream.name + '_count' if exact: cond = sttrt._TupleExactCount(count, name) cond._desc = "{0} stream expects tuple count equal to {1}.".format( stream.name, count) else: cond = sttrt._TupleAtLeastCount(count, name) cond._desc = "'{0}' stream expects tuple count of at least {1}.".format( stream.name, count) return self.add_condition(stream, cond)
def tuple_count(self, stream, count, exact=True): """Test that a stream contains a number of tuples. If `exact` is `True`, then condition becomes valid when `count` tuples are seen on `stream` during the test. Subsequently if additional tuples are seen on `stream` then the condition fails and can never become valid. If `exact` is `False`, then the condition becomes valid once `count` tuples are seen on `stream` and remains valid regardless of any additional tuples. Args: stream(Stream): Stream to be tested. count(int): Number of tuples expected. exact(bool): `True` if the stream must contain exactly `count` tuples, `False` if the stream must contain at least `count` tuples. Returns: Stream: stream """ _logger.debug("Adding tuple count (%d) condition to stream %s.", count, stream) if exact: name = "ExactCount" + str(len(self._conditions)) cond = sttrt._TupleExactCount(count, name) cond._desc = "{0} stream expects tuple count equal to {1}.".format(stream.name, count) else: name = "AtLeastCount" + str(len(self._conditions)) cond = sttrt._TupleAtLeastCount(count, name) cond._desc = "'{0}' stream expects tuple count of at least {1}.".format(stream.name, count) return self.add_condition(stream, cond)