code: def test_get_json_plan(
      type_indentation,
      multiple_line_break,
      final_line_break,
      multiple_tabs_each_line,
      multiple_space_each_line,
  ):
      algebra = (
          "LogicalJoin(condition=[=($6, $0)], joinType=[left]){1}{2}{3}\n"
          "{0}LogicalJoin(condition=[=($3, $1)], joinType=[left]){1}{2}{3}\n"
          "{0}{0}LogicalTableScan(table=[[main, product]]){1}{2}{3}\n"
          "{0}{0}LogicalTableScan(table=[[main, client]]){1}{2}{3}\n"
          "{0}LogicalTableScan(table=[[main, preference]]){1}{2}{3}"
      )
  
      if final_line_break:
          algebra += "\n"
  
      algebra = algebra.format(
          type_indentation,
          multiple_tabs_each_line,
          multiple_space_each_line,
          multiple_line_break,
      )
  
      result = get_json_plan(algebra)
  
      cmp = (
          "{"
          '"expr": "LogicalJoin(condition=[=($6, $0)], joinType=[left])", '
          '"children": ['
          "{"
          '"expr": "LogicalJoin(condition=[=($3, $1)], joinType=[left])", '
          '"children": ['
          "{"
          '"expr": "LogicalTableScan(table=[[main, product]])", '
          '"children": []'
          "}, "
          "{"
          '"expr": "LogicalTableScan(table=[[main, client]])", '
          '"children": []'
          "}"
          "]"
          "}, "
          "{"
          '"expr": "LogicalTableScan(table=[[main, preference]])", '
          '"children": []'
          "}"
          "]"
          "}"
      )
  
      assert cmp == result
  
imports: import pytest
  from pyblazing.apiv2.algebra import get_json_plan
label_desc: Use image node_id 1 for calling a global function with example usage: test_get_json_plan(type_indentation, multiple_line_break, final_line_break, multiple_tabs_each_line, multiple_space_each_line) without return types