class_docstr: Test to verify PruningSchedule behavior for step parameters.
  
  This is a parameterized test which runs over all PruningSchedule classes
  to ensure they validate parameters such as begin_step, end_step and frequency
  properly and also apply them correctly during execution.
code: def testOnlyPrunesAtValidFrequencySteps(self, schedule_type):
      sparsity = self._construct_pruning_schedule(
          schedule_type, 100, 200, 10
      )
  
      step_100 = tf.Variable(100)
      step_109 = tf.Variable(109)
      step_110 = tf.Variable(110)
      step_111 = tf.Variable(111)
      compat.initialize_variables(self)
  
      self.assertFalse(self.evaluate(sparsity(step_109))[0])
      self.assertFalse(self.evaluate(sparsity(step_111))[0])
  
      self.assertTrue(self.evaluate(sparsity(step_100))[0])
      self.assertTrue(self.evaluate(sparsity(step_110))[0])
  
imports: from absl.testing import parameterized
  import tensorflow
  from tensorflow_model_optimization.python.core.keras import compat
  from tensorflow_model_optimization.python.core.quantization.keras import utils
  from tensorflow_model_optimization.python.core.sparsity.keras import pruning_schedule
label_desc: Use image node_id 9 for calling the PruningScheduleTest obj's underlying member method code with example usage: obj.testOnlyPrunesAtValidFrequencySteps(schedule_type) without return types