code: def test_value_same_after_parsing(self):
      test_exprs = []
      expecteds = []
      for t, v in self.values():
          row_v = ir.Literal(t, v)
          range = ir.TableRange(1, 1)
          map_globals_ir = ir.TableMapGlobals(
              range,
              ir.InsertFields(
                  ir.Ref("global", range.typ.global_type),
                  [("foo", row_v)],
                  None,
              ),
          )
  
          test_exprs.append(hl.Table(map_globals_ir).index_globals())
          expecteds.append(hl.Struct(foo=v))
  
      actuals = hl.eval(hl.tuple(test_exprs))
      for expr, actual, expected in zip(test_exprs, actuals, expecteds):
          assert actual == expected, str(expr)
  
imports: import re
  import unittest
  import numpy
  from numpy.testing import assert_array_equal
  import hail
  import hail.ir
  from hail.ir.renderer import CSERenderer
  from hail.expr import construct_expr
  from hail.expr.types import tint32
  from hail.utils.java import Env
  from hail.utils import new_temp_file
  from test.hail.helpers import *
label_desc: Use image node_id 2 for calling the ValueTests obj's underlying member method code with example usage: obj.test_value_same_after_parsing() without return types