code: def test_bins_mixed_signs(self):
      rows = []
  
      for i in range(0, -100, -1):
          rows.append([i + 50])
  
      new_table = Table(
          rows, self.column_names, self.column_types
      ).bins("number")
  
      self.assertColumnNames(new_table, ["number", "Count"])
      self.assertColumnTypes(new_table, [Text, Number])
  
      self.assertSequenceEqual(new_table.rows[0], ["[-50 - -40)", 9])
      self.assertSequenceEqual(new_table.rows[3], ["[-20 - -10)", 10])
      self.assertSequenceEqual(new_table.rows[9], ["[40 - 50]", 11])
  
file_path: agate/tests/test_table/test_bins.py
imports: from decimal import Decimal
  from babel.numbers import get_decimal_symbol
  from agate import Table
  from agate.data_types import Number, Text
  from agate.testcase import AgateTestCase
label_desc: Use image node_id 4 for calling the TestBins obj's underlying member method code with example usage: obj.test_bins_mixed_signs() without return types