docstr: Parameters:
  -----------
  formatter: EngFormatter under test
  in_out: list of tuples. Each tuple = (number, expected_formatting)
  
  It is tested if 'formatter(number) == expected_formatting'.
  *number* should be >= 0 because formatter(-number) == fmt is also
  tested. *fmt* is derived from *expected_formatting*
docstr_tok: ["Parameters",":","--","--","--","--","--","-","formatter",":","EngFormatter","under","test","in_out",":","list","of","tuples",".","Each","tuple","=","(","number",",","expected_formatting",")","It","is","tested","if","'formatter","(","number",")","==","expected_formatting","'",".","*","number","*","should","be",">","=","0","because","formatter","(","-number",")","==","fmt","is","also","tested",".","*","fmt","*","is","derived","from","*","expected_formatting","*"]
code: def compare_all(self, formatter, in_out):
      """
      Parameters:
      -----------
      formatter: EngFormatter under test
      in_out: list of tuples. Each tuple = (number, expected_formatting)
  
      It is tested if 'formatter(number) == expected_formatting'.
      *number* should be >= 0 because formatter(-number) == fmt is also
      tested. *fmt* is derived from *expected_formatting*
      """
      for input, output in in_out:
          self.compare(formatter, input, output)
          self.compare(formatter, -input, "-" + output[1:])
  
file_path: pandas/pandas/tests/io/formats/test_eng_formatting.py
imports: import numpy
  import pytest
  from pandas import DataFrame, reset_option, set_eng_float_format
  from pandas.io.formats.format import EngFormatter
label_desc: Use image node_id 4 for calling the TestEngFormatter obj's underlying member method code with example usage: obj.compare_all(formatter, in_out) without return types