code: def testNumSteps(self):
      poly_seq = polyphony_lib.PolyphonicSequence(steps_per_quarter=1)
  
      pe = polyphony_lib.PolyphonicEvent
      poly_events = [
          # step 0
          pe(pe.NEW_NOTE, 60),
          pe(pe.NEW_NOTE, 64),
          pe(pe.STEP_END, None),
          # step 1
          pe(pe.CONTINUED_NOTE, 60),
          pe(pe.CONTINUED_NOTE, 64),
          pe(pe.STEP_END, None),
          pe(pe.END, None),
      ]
      for event in poly_events:
          poly_seq.append(event)
  
      self.assertEqual(2, poly_seq.num_steps)
      self.assertListEqual([0, 0, 0, 0, 1, 1, 1, 2], poly_seq.steps)
  
imports: import copy
  from magenta.common import testing_lib
  from magenta.models.polyphony_rnn import polyphony_lib
  from note_seq import sequences_lib
  from note_seq import testing_lib
  from note_seq.protobuf import music_pb2
  import tensorflow.compat.v1
label_desc: Use image node_id 16 for calling the PolyphonyLibTest obj's underlying member method code with example usage: obj.testNumSteps() without return types