code: def test_change_timedeltas(self):
      rows = (("4:15", "8:18"), ("4h 2m", "2h"), ("4 weeks", "27 days"))
  
      timedelta_type = TimeDelta()
  
      column_names = ["one", "two"]
      column_types = [timedelta_type, timedelta_type]
  
      table = Table(rows, column_names, column_types)
  
      new_table = table.compute([("test", Change("one", "two"))])
  
      self.assertIsNot(new_table, table)
      self.assertEqual(len(new_table.rows), 3)
      self.assertEqual(len(new_table.columns), 3)
  
      self.assertSequenceEqual(
          new_table.rows[0],
          (
              datetime.timedelta(minutes=4, seconds=15),
              datetime.timedelta(minutes=8, seconds=18),
              datetime.timedelta(minutes=4, seconds=3),
          ),
      )
      self.assertEqual(
          new_table.columns["test"][0],
          datetime.timedelta(minutes=4, seconds=3),
      )
      self.assertEqual(
          new_table.columns["test"][1],
          datetime.timedelta(hours=-2, minutes=-2),
      )
      self.assertEqual(
          new_table.columns["test"][2], datetime.timedelta(days=-1)
      )
  
imports: import datetime
  import unittest
  import warnings
  from decimal import Decimal
  from agate import Table
  from agate.computations import Change, Formula, Percent, PercentChange, PercentileRank, Rank, Slug
  from agate.data_types import Boolean, Date, DateTime, Number, Text, TimeDelta
  from agate.exceptions import CastError, DataTypeError
  from agate.warns import NullCalculationWarning
label_desc: Use image node_id 3 for calling the TestDateAndTimeComputations obj's underlying member method code with example usage: obj.test_change_timedeltas() without return types