code: def testDontDropLastFrame_StartFromZeroEvenFrameSize(self):
      # test with ratio = 1
      options = {
          "frameSize": 10,
          "hopSize": 10,
          "startFromZero": True,
          "validFrameThresholdRatio": 1,
      }
      found = cutFrames(options, list(range(1, 61)))
      expected = [
          list(range(1, 11)),
          list(range(11, 21)),
          list(range(21, 31)),
          list(range(31, 41)),
          list(range(41, 51)),
          list(range(51, 61)),
      ]
      self.assertEqualMatrix(found, expected)
  
      # test with ratio = .9
      options = {
          "frameSize": 10,
          "hopSize": 10,
          "startFromZero": True,
          "validFrameThresholdRatio": 0.9,
      }
      found = cutFrames(options, list(range(1, 60)))
      expected = [
          list(range(1, 11)),
          list(range(11, 21)),
          list(range(21, 31)),
          list(range(31, 41)),
          list(range(41, 51)),
          list(range(51, 60)) + [0],
      ]
      self.assertEqualMatrix(found, expected)
  
      # test with ratio = .2
      options = {
          "frameSize": 10,
          "hopSize": 10,
          "startFromZero": True,
          "validFrameThresholdRatio": 0.2,
      }
      found = cutFrames(options, list(range(1, 53)))
      expected = [
          list(range(1, 11)),
          list(range(11, 21)),
          list(range(21, 31)),
          list(range(31, 41)),
          list(range(41, 51)),
          list(range(51, 53)) + [0] * 8,
      ]
      self.assertEqualMatrix(found, expected)
  
imports: from essentia_test import *
label_desc: Use image node_id 23 for calling the TestFrameCutter obj's underlying member method code with example usage: obj.testDontDropLastFrame_StartFromZeroEvenFrameSize() without return types