code: def test_parse_various_float_values(
      self, test_literal, expect_exception
  ):
      model_text = f"""
          <
          ir_version: 8,
          opset_import: ["" : 18, "this" : 1],
          producer_name: "FunctionProtoTest",
          producer_version: "1.0"
          >
          _func () => ()
          {{
          tmp = Constant <value_float = {test_literal}>()
          }}
          """
      if expect_exception:
          self.assertRaises(
              onnx.parser.ParseError,
              lambda: onnx.parser.parse_model(model_text),
          )
      else:
          model = onnx.parser.parse_model(model_text)
          self.assertEqual(model.ir_version, 8)
          self.assertEqual(model.producer_name, "FunctionProtoTest")
          self.assertEqual(model.producer_version, "1.0")
          self.assertEqual(len(model.graph.node), 1)
          self.assertEqual(len(model.graph.node[0].attribute), 1)
          self.assertEqual(
              model.graph.node[0].attribute[0].name, "value_float"
          )
          self.assertEqual(
              model.graph.node[0].attribute[0].type,
              onnx.AttributeProto.FLOAT,
          )
          self.assertEqual(
              str(model.graph.node[0].attribute[0].f),
              str(float(test_literal)),
          )
  
file_path: onnx/onnx/test/parser_test.py
imports: import unittest
  from parameterized import parameterized
  import onnx
  from onnx import GraphProto, OperatorSetIdProto, checker
label_desc: Use image node_id 9 for calling the TestBasicFunctions obj's underlying member method code with example usage: obj.test_parse_various_float_values(test_literal, expect_exception) without return types