code: def setUp(self):
      self.rows = (
          ("a", 2, 3, 4),
          (None, 3, 5, None),
          ("a", 2, 4, None),
          ("b", 3, 4, None),
      )
  
      self.number_type = Number()
      self.text_type = Text()
  
      self.column_names = ["one", "two", "three", "four"]
      self.column_types = [
          self.text_type,
          self.number_type,
          self.number_type,
          self.number_type,
      ]
  
      self.table = Table(
          self.rows, self.column_names, self.column_types
      )
  
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 1 for calling the TestTableComputation obj's underlying member method code with example usage: obj.setUp() without return types