code: def test_input(self, template, values) -> None:
      tt_input = TextTemplateInput(template, values)
  
      expected_tensor = torch.tensor([[1.0] * 4])
      assertTensorAlmostEqual(
          self, tt_input.to_tensor(), expected_tensor
      )
  
      self.assertEqual(tt_input.to_model_input(), "a b c d e f")
  
      perturbed_tensor = torch.tensor([[1.0, 0.0, 1.0, 0.0]])
      self.assertEqual(
          tt_input.to_model_input(perturbed_tensor), "a b  d e "
      )
  
file_path: captum/tests/attr/test_interpretable_input.py
imports: import torch
  from captum.attr._utils.interpretable_input import TextTemplateInput, TextTokenInput
  from parameterized import parameterized
  from tests.helpers.basic import assertTensorAlmostEqual, BaseTest
label_desc: Use image node_id 1 for calling the TestTextTemplateInput obj's underlying member method code with example usage: obj.test_input(template, values) without return types