code: def test_print_bars_with_nulls(self):
      table = Table(self.rows, self.column_names, self.column_types)
  
      output = StringIO()
      table.print_bars(
          "three", "two", width=20, printable=True, output=output
      )
  
      self.assertEqual(
          output.getvalue(),
          "three   two\n"
          "a     "
          + format_decimal(2000, format="#,##0")
          + " |:::::::\n"
          "None      - |       \n"
          "c         1 |       \n"
          "            +------+\n"
          "            0  "
          + format_decimal(2000, format="#,##0")
          + "\n",
      )
  
file_path: agate/tests/test_table/test_print_bars.py
imports: from io import StringIO
  from babel.numbers import format_decimal
  from agate import Table
  from agate.data_types import Number, Text
  from agate.exceptions import DataTypeError
  from agate.testcase import AgateTestCase
label_desc: Use image node_id 10 for calling the TestPrintBars obj's underlying member method code with example usage: obj.test_print_bars_with_nulls() without return types