code: def test_change_datetimes(self):
      rows = (
          ("10/4/2015 4:43", "10/7/2015 4:50"),
          ("10/2/2015 12 PM", "9/28/2015 12 PM"),
          ("9/28/2015 12:00:00", "9/1/2015 6 PM"),
      )
  
      datetime_type = DateTime()
  
      column_names = ["one", "two"]
      column_types = [datetime_type, datetime_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.datetime(2015, 10, 4, 4, 43),
              datetime.datetime(2015, 10, 7, 4, 50),
              datetime.timedelta(days=3, minutes=7),
          ),
      )
  
      self.assertEqual(
          new_table.columns["test"][0],
          datetime.timedelta(days=3, minutes=7),
      )
      self.assertEqual(
          new_table.columns["test"][1], datetime.timedelta(days=-4)
      )
      self.assertEqual(
          new_table.columns["test"][2],
          datetime.timedelta(days=-26, hours=-18),
      )
  
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 2 for calling the TestDateAndTimeComputations obj's underlying member method code with example usage: obj.test_change_datetimes() without return types