class_docstr: Test ability to marshall metric protos and invalid input.
class_docstr_tok: ["Test","ability","to","marshall","metric","protos","and","invalid","input","."]
docstr: Test that metric delta returns the correct proto value
docstr_tok: ["Test","that","metric","delta","returns","the","correct","proto","value"]
code: def test_delta_values(self):
      """Test that metric delta returns the correct proto value"""
      arg_values = [
          " -253",
          "+25",
          "26",
          123,
          -123,
          1.234,
          -1.5,
          None,
          "",
      ]
      delta_values = [
          "-253",
          "+25",
          "26",
          "123",
          "-123",
          "1.234",
          "-1.5",
          "",
          "",
      ]
  
      for arg_value, delta_value in zip(arg_values, delta_values):
          st.metric("label_test", "4312", arg_value)
  
          c = self.get_delta_from_queue().new_element.metric
          self.assertEqual(c.label, "label_test")
          self.assertEqual(delta_value, c.delta)
  
imports: from parameterized import parameterized
  import streamlit
  from streamlit.errors import StreamlitAPIException
  from streamlit.proto.LabelVisibilityMessage_pb2 import LabelVisibilityMessage
  from streamlit.proto.Metric_pb2 import Metric
  from streamlit.type_util import _LOGGER
  from tests.delta_generator_test_case import DeltaGeneratorTestCase
label_desc: Use image node_id 6 for calling the MetricTest obj's underlying member method code with example usage: obj.test_delta_values() without return types