code: def test_frame_filter_generator(self):
      input_list = list(range(10))
  
      frame_filter_fn = EpicKitchenRecognition._frame_filter_generator(
          10
      )
      all_elements = frame_filter_fn(input_list)
      self.assertEqual(all_elements, input_list)
  
      frame_filter_fn = EpicKitchenRecognition._frame_filter_generator(
          5
      )
      half_elements = frame_filter_fn(input_list)
      self.assertEqual(len(half_elements), 5)
      self.assertEqual(
          half_elements, [i for i in input_list if not i % 2]
      )
  
      frame_filter_fn = EpicKitchenRecognition._frame_filter_generator(
          1
      )
      half_elements = frame_filter_fn(input_list)
      self.assertEqual(len(half_elements), 1)
      self.assertEqual(half_elements[0], 0)
  
file_path: pytorchvideo/tests/test_data_epic_kitchen_recognition.py
imports: import unittest
  import unittest.mock
  import torch
  from pytorchvideo.data import EpicKitchenRecognition
  from pytorchvideo.data.epic_kitchen import ActionData
  from pytorchvideo.data.epic_kitchen_recognition import ClipSampling
  from pytorchvideo.data.frame_video import FrameVideo
label_desc: Use image node_id 2 for calling the TestEpicKitchenRecognition obj's underlying member method code with example usage: obj.test_frame_filter_generator() without return types