code: def test_inter_distinct_unigram(self):
      m1 = InterDistinctMetric.compute("this test", 1)
      self.assertAlmostEqual(m1, 1.0, delta=0.001)
      m2 = InterDistinctMetric.compute("another test", 1)
      self.assertAlmostEqual(m2, 1.0, delta=0.001)
      # we now have 4 tokens, 3 words
      self.assertAlmostEqual(m1 + m2, 3 / 4)
  
imports: import unittest
  from typing import Dict
  import torch
  import random
  from parlai.core.metrics import AverageMetric, SumMetric, FixedMetric, Metrics, GlobalAverageMetric, MacroAverageMetric, TimerMetric, aggregate_unnamed_reports, aggregate_named_reports, InterDistinctMetric, IntraDistinctMetric, FairseqBleuMetric
  from parlai.core.torch_classifier_agent import ConfusionMatrixMetric, WeightedF1Metric, AUCMetrics
  from parlai.core.torch_generator_agent import PPLMetric
  import parlai.utils.testing
label_desc: Use image node_id 2 for calling the TestDistinct obj's underlying member method code with example usage: obj.test_inter_distinct_unigram() without return types