code: def _test_sample(self, distribution: Distribution):
      counts = [0] * 4
      total = 100000
      for _ in range(total):
          counts[distribution.sample()[0]] += 1
      self.assertAlmostEqual(counts[0] / total, 0.1, places=2)
      self.assertAlmostEqual(counts[1] / total, 0.2, places=2)
      self.assertAlmostEqual(counts[2] / total, 0.3, places=2)
      self.assertAlmostEqual(counts[3] / total, 0.4, places=2)
  
imports: import unittest
  from typing import Tuple, Union
  import numpy
  import torch
  from reagent.ope.estimators.types import ActionDistribution, TypeWrapper, Values
label_desc: Use image node_id 3 for calling the TestDistribution obj's underlying member method code with example usage: obj._test_sample(distribution) without return types