class_docstr: TimeWindowBufer
      
class_docstr_tok: ["TimeWindowBufer"]
docstr: 0s --->4s     81s ---> 99s
  time_range_sec: 10s
  time_step_sec: 5s
docstr_tok: ["0s","--","-",">","4s","81s","--","-",">","99s","time_range_sec",":","10s","time_step_sec",":","5s"]
code: def test_discontinuous_timestamp(self):
      """
      0s --->4s     81s ---> 99s
      time_range_sec: 10s
      time_step_sec: 5s
      """
      buf = _TimeWindowBuffer(10, 5)
      data = [(i, i * 1000) for i in range(100) if i < 3 or i > 91]
  
      ret = [
          [0, 1, 2],
          [92, 93, 94, 95, 96, 97, 98, 99],
          [95, 96, 97, 98, 99],
      ]
      index = 0
      for item in data:
          if buf(item[0], item[1]):
              self.assertEqual(buf.data, ret[index])
              buf = buf.next()
              index += 1
      while buf and buf.data:
          self.assertEqual(buf.data, ret[index])
          buf = buf.next()
          index += 1
  
imports: import unittest
  import copy
  from concurrent.futures import ThreadPoolExecutor
  from towhee.runtime.node_repr import NodeRepr
  from towhee.runtime.nodes import create_node, NodeStatus
  from towhee.runtime.nodes._time_window import _TimeWindowBuffer
  from towhee.runtime.data_queue import DataQueue, ColumnType, Empty
  from towhee.runtime.operator_manager import OperatorPool
label_desc: Use image node_id 5 for calling the TestTimeWindowBuffer obj's underlying member method code with example usage: obj.test_discontinuous_timestamp() without return types