code: def test_empty_methods(self):
      callback = Callback()
  
      self.assertIsNone(callback.on_init({}))
      self.assertIsNone(callback.on_start({}))
      self.assertIsNone(callback.on_start_epoch({}))
      self.assertIsNone(callback.on_start_training({}))
      self.assertIsNone(callback.on_sample({}))
      self.assertIsNone(callback.on_forward({}))
      self.assertIsNone(callback.on_criterion({}))
      self.assertIsNone(callback.on_backward({}))
      self.assertIsNone(callback.on_step_training({}))
      self.assertIsNone(callback.on_end_training({}))
      self.assertIsNone(callback.on_end_epoch({}))
      self.assertIsNone(callback.on_checkpoint({}))
      self.assertIsNone(callback.on_end({}))
      self.assertIsNone(callback.on_start_validation({}))
      self.assertIsNone(callback.on_sample_validation({}))
      self.assertIsNone(callback.on_forward_validation({}))
      self.assertIsNone(callback.on_end_validation({}))
      self.assertIsNone(callback.on_step_validation({}))
      self.assertIsNone(callback.on_criterion_validation({}))
  
imports: import unittest
  from mock import Mock, MagicMock, create_autospec, patch
  import torch
  import torchbearer
  from torchbearer.bases import Metric, Callback, base_closure
  from torchbearer.metrics.primitives import CategoricalAccuracy
label_desc: Use image node_id 3 for calling the TestCallback obj's underlying member method code with example usage: obj.test_empty_methods() without return types