code: def test_riemann_3(self) -> None:
      expected_step_sizes = [1 / 3] * 3
      expected_step_sizes_trapezoid = [1 / 6, 1 / 3, 1 / 6]
      expected_left = [0.0, 1 / 3, 2 / 3]
      expected_right = [1 / 3, 2 / 3, 1.0]
      expected_middle = [1 / 6, 0.5, 1 - 1 / 6]
      expected_trapezoid = [0.0, 0.5, 1.0]
      self._assert_steps_and_alphas(
          3,
          expected_step_sizes,
          expected_step_sizes_trapezoid,
          expected_left,
          expected_right,
          expected_middle,
          expected_trapezoid,
      )
  
file_path: captum/tests/attr/test_approximation_methods.py
imports: import unittest
  from typing import List
  import torch
  from captum.attr._utils.approximation_methods import Riemann, riemann_builders
  from tests.helpers.basic import assertTensorAlmostEqual
label_desc: Use image node_id 4 for calling the Test obj's underlying member method code with example usage: obj.test_riemann_3() without return types