code: def test_fbeta_multiclass_macro_average_metric(self):
      precision = self._compute(metric="precision", average="macro")
      recall = self._compute(metric="recall", average="macro")
      fscore = self._compute(metric="fscore", average="macro")
  
      macro_precision = numpy.mean(self.desired_precisions)
      macro_recall = numpy.mean(self.desired_recalls)
      macro_fscore = numpy.mean(self.desired_fscores)
  
      # check type
      assert isinstance(precision, float)
      assert isinstance(recall, float)
      assert isinstance(fscore, float)
  
      # check value
      numpy.testing.assert_almost_equal(
          precision, macro_precision, decimal=2
      )
      numpy.testing.assert_almost_equal(recall, macro_recall, decimal=2)
      numpy.testing.assert_almost_equal(fscore, macro_fscore, decimal=2)
  
imports: from unittest import TestCase
  import numpy
  import torch
  import torch.nn
  from poutyne import F1, BinaryF1, FBeta, Model
label_desc: Use image node_id 9 for calling the BaseFBetaTest obj's underlying member method code with example usage: obj.test_fbeta_multiclass_macro_average_metric() without return types