code: def test_transform_tensor_bounds(self):
      constraint = gpytorch.constraints.Interval(
          torch.tensor([1.0, 2.0]), torch.tensor([3.0, 4.0])
      )
  
      v = torch.tensor([-3.0, -2.0])
  
      value = constraint.transform(v)
      actual_value = v.clone()
      actual_value[0] = (3.0 - 1.0) * sigmoid(v[0]) + 1.0
      actual_value[1] = (4.0 - 2.0) * sigmoid(v[1]) + 2.0
  
      self.assertAllClose(value, actual_value)
  
imports: import math
  import unittest
  import torch
  from torch import sigmoid
  from torch.nn.functional import softplus
  import gpytorch
  from gpytorch.test.base_test_case import BaseTestCase
label_desc: Use image node_id 3 for calling the TestInterval obj's underlying member method code with example usage: obj.test_transform_tensor_bounds() without return types