docstr: Test CallbackHandler with all of the hooks on Callback
code: def test_callback_handler(self) -> None:
      """
      Test CallbackHandler with all of the hooks on Callback
      """
      unit = MagicMock(spec=TTrainUnit)
      timer = Timer()
      state = State(
          entry_point=EntryPoint.TRAIN,
          timer=timer,
          train_state=None,
      )
      callback = DummyCallback()
      called_hooks = callback.called_hooks
      cb_handler = CallbackHandler([callback])
  
      cb_handler.on_exception(state, unit, ValueError("test"))
      self.assertIn("on_exception", called_hooks)
  
      cb_handler.on_train_start(state, unit)
      self.assertIn("on_train_start", called_hooks)
  
      cb_handler.on_train_epoch_start(state, unit)
      self.assertIn("on_train_epoch_start", called_hooks)
  
      cb_handler.on_train_get_next_batch_end(state, unit)
      self.assertIn("on_train_get_next_batch_end", called_hooks)
  
      cb_handler.on_train_step_start(state, unit)
      self.assertIn("on_train_step_start", called_hooks)
  
      cb_handler.on_train_step_end(state, unit)
      self.assertIn("on_train_step_end", called_hooks)
  
      cb_handler.on_train_step_end(state, unit)
      self.assertIn("on_train_step_end", called_hooks)
  
      cb_handler.on_train_epoch_end(state, unit)
      self.assertIn("on_train_epoch_end", called_hooks)
  
      cb_handler.on_train_end(state, unit)
      self.assertIn("on_train_end", called_hooks)
  
      unit = MagicMock(spec=TEvalUnit)
      cb_handler.on_eval_start(state, unit)
      self.assertIn("on_eval_start", called_hooks)
  
      cb_handler.on_eval_epoch_start(state, unit)
      self.assertIn("on_eval_epoch_start", called_hooks)
  
      cb_handler.on_eval_get_next_batch_end(state, unit)
      self.assertIn("on_eval_get_next_batch_end", called_hooks)
  
      cb_handler.on_eval_step_start(state, unit)
      self.assertIn("on_eval_step_start", called_hooks)
  
      cb_handler.on_eval_step_end(state, unit)
      self.assertIn("on_eval_step_end", called_hooks)
  
      cb_handler.on_eval_step_end(state, unit)
      self.assertIn("on_eval_step_end", called_hooks)
  
      cb_handler.on_eval_epoch_end(state, unit)
      self.assertIn("on_eval_epoch_end", called_hooks)
  
      cb_handler.on_eval_end(state, unit)
      self.assertIn("on_eval_end", called_hooks)
  
      unit = MagicMock(spec=TPredictUnit)
      cb_handler.on_predict_start(state, unit)
      self.assertIn("on_predict_start", called_hooks)
  
      cb_handler.on_predict_epoch_start(state, unit)
      self.assertIn("on_predict_epoch_start", called_hooks)
  
      cb_handler.on_predict_get_next_batch_end(state, unit)
      self.assertIn("on_predict_get_next_batch_end", called_hooks)
  
      cb_handler.on_predict_step_start(state, unit)
      self.assertIn("on_predict_step_start", called_hooks)
  
      cb_handler.on_predict_step_end(state, unit)
      self.assertIn("on_predict_step_end", called_hooks)
  
      cb_handler.on_predict_step_end(state, unit)
      self.assertIn("on_predict_step_end", called_hooks)
  
      cb_handler.on_predict_epoch_end(state, unit)
      self.assertIn("on_predict_epoch_end", called_hooks)
  
      cb_handler.on_predict_end(state, unit)
      self.assertIn("on_predict_end", called_hooks)
  
imports: import unittest
  from typing import Set, Union
  from unittest.mock import MagicMock
  from torchtnt.framework._callback_handler import _get_implemented_callback_mapping, CallbackHandler
  from torchtnt.framework.callback import Callback
  from torchtnt.framework.callbacks.lambda_callback import Lambda
  from torchtnt.framework.state import EntryPoint, State
  from torchtnt.framework.unit import TEvalUnit, TPredictUnit, TTrainUnit
  from torchtnt.utils.timer import Timer
label_desc: Use image node_id 1 for calling the CallbackHandlerTest obj's underlying member method code with example usage: obj.test_callback_handler() without return types