code: def test_add_metric(self):
      self.wrapper.add_metric(
          "cls_report", lambda: ClassificationReport(2)
      )
      assert "test_cls_report" in self.wrapper.metrics
      assert "train_cls_report" in self.wrapper.metrics
      self.wrapper.train_on_dataset(
          self.dataset, self.optim, 32, 2, False
      )
      self.wrapper.test_on_dataset(self.dataset, 32, False)
      assert (
          self.wrapper.metrics["train_cls_report"].value["accuracy"]
          != 0
      ).any()
      assert (
          self.wrapper.metrics["test_cls_report"].value["accuracy"] != 0
      ).any()
  
imports: import math
  import unittest
  from unittest.mock import Mock
  import numpy
  import pytest
  import torch
  import torchmetrics
  from torch import nn
  from torch.utils.data import Dataset, DataLoader
  from baal.modelwrapper import ModelWrapper, mc_inference
  from baal.utils.metrics import ClassificationReport
label_desc: Use image node_id 9 for calling the ModelWrapperTest obj's underlying member method code with example usage: obj.test_add_metric() without return types