code: def test_tqdm_on_epoch(self):
      state = {
          torchbearer.EPOCH: 1,
          torchbearer.MAX_EPOCHS: 10,
          torchbearer.HISTORY: [
              0,
              {
                  "train_steps": 1,
                  "validation_steps": None,
                  "test": 0.99456,
              },
          ],
          torchbearer.METRICS: {"test": 0.99456},
      }
      tqdm = Tqdm(validation_label_letter="e", on_epoch=True)
      tqdm.tqdm_module = MagicMock()
      mock_tqdm = tqdm.tqdm_module
  
      tqdm.on_start(state)
      mock_tqdm.assert_called_once_with(initial=2, total=10)
      mock_tqdm.return_value.set_postfix_str.assert_called_once_with(
          "test=0.9946"
      )
      mock_tqdm.return_value.update.assert_called_once_with(1)
      mock_tqdm.return_value.set_postfix_str.reset_mock()
      mock_tqdm.return_value.update.reset_mock()
  
      tqdm.on_end_epoch(state)
      mock_tqdm.return_value.set_postfix_str.assert_called_once_with(
          "test=0.9946"
      )
      mock_tqdm.return_value.update.assert_called_once_with(1)
      mock_tqdm.return_value.set_postfix_str.reset_mock()
  
      tqdm.on_end(state)
      mock_tqdm.return_value.set_postfix_str.assert_called_once_with(
          "test=0.9946"
      )
      self.assertEqual(mock_tqdm.return_value.close.call_count, 1)
  
file_path: torchbearer/tests/callbacks/test_printer.py
imports: from unittest import TestCase
  from mock import patch, MagicMock
  import torchbearer
  from torchbearer.callbacks import Tqdm, ConsolePrinter
label_desc: Use image node_id 3 for calling the TestTqdm obj's underlying member method code with example usage: obj.test_tqdm_on_epoch() without return types