code: def test_single_margin(self):
      config = {
          "probas": {"": {"margin": 4, "facetData": {"facets": {}}}}
      }
      dataset = lit_dataset.Dataset(None, None)
      inputs = [{"label": "0"}, {"label": "1"}, {"label": "0"}]
      results = self.interpreter.run(
          inputs,
          testing_utils.ClassificationModelForTesting(),
          dataset,
          None,
          config,
      )
      expected_results = [
          {
              "probas": dtypes.ClassificationResult(
                  [0.2, 0.8], "0", True
              )
          },
          {
              "probas": dtypes.ClassificationResult(
                  [0.2, 0.8], "0", False
              )
          },
          {
              "probas": dtypes.ClassificationResult(
                  [0.2, 0.8], "0", True
              )
          },
      ]
      self.assertListEqual(["probas"], list(results[0].keys()))
      # TODO(b/266681945): Add strict=True to ensure equal lengths
      for result, expected in zip(results, expected_results):
          np.testing.assert_array_equal(
              expected["probas"].scores, result["probas"].scores
          )
          self.assertEqual(
              expected["probas"].predicted_class,
              result["probas"].predicted_class,
          )
          self.assertEqual(
              expected["probas"].correct, result["probas"].correct
          )
  
file_path: lit/lit_nlp/components/classification_results_test.py
imports: from absl.testing import absltest
  from absl.testing import parameterized
  from lit_nlp.api import dataset
  from lit_nlp.api import dtypes
  from lit_nlp.api import model
  from lit_nlp.components import classification_results
  from lit_nlp.lib import testing_utils
  import numpy
label_desc: Use image node_id 5 for calling the ClassificationResultsTest obj's underlying member method code with example usage: obj.test_single_margin() without return types