code: def test_batch_monitor_found(self):
      state = {
          torchbearer.EPOCH: 1,
          torchbearer.OPTIMIZER: "optimizer",
          torchbearer.METRICS: {"test": 1.0},
          torchbearer.MODEL: Mock(),
      }
      mock_scheduler = Mock()
      mock_scheduler.return_value = mock_scheduler
  
      torch_scheduler = TorchScheduler(
          mock_scheduler, monitor="test", step_on_batch=True
      )
      torch_scheduler.on_start(state)
  
      with warnings.catch_warnings(record=True) as w:
          torch_scheduler.on_step_training(state)
          self.assertTrue(len(w) == 0)
  
imports: from unittest import TestCase
  from mock import patch, Mock
  import warnings
  import torchbearer
  from torchbearer.bases import _pytorch_version_gt
  from torchbearer.callbacks import TorchScheduler, LambdaLR, StepLR, MultiStepLR, ExponentialLR, CosineAnnealingLR, ReduceLROnPlateau, CyclicLR
label_desc: Use image node_id 14 for calling the TestTorchScheduler obj's underlying member method code with example usage: obj.test_batch_monitor_found() without return types