class_docstr: Test ability to marshall date_input protos.
class_docstr_tok: ["Test","ability","to","marshall","date_input","protos","."]
code: def test_value_out_of_range(self, value, min_date, max_date):
      with raises(StreamlitAPIException) as exc_message:
          st.date_input(
              "the label",
              value=value,
              min_value=min_date,
              max_value=max_date,
          )
      if isinstance(value, (date, datetime)):
          value = [value]
      value = [
          v.date() if isinstance(v, datetime) else v for v in value
      ]
      assert (
          f"The default `value` of {value} must lie between the `min_value` of {min_date.date()} "
          f"and the `max_value` of {max_date.date()}, inclusively."
          == str(exc_message.value)
      )
  
imports: from datetime import date, datetime, timedelta
  from parameterized import parameterized
  from pytest import raises
  import streamlit
  from streamlit.errors import StreamlitAPIException
  from streamlit.proto.LabelVisibilityMessage_pb2 import LabelVisibilityMessage
  from streamlit.testing.v1.app_test import AppTest
  from tests.delta_generator_test_case import DeltaGeneratorTestCase
label_desc: Use image node_id 6 for calling the DateInputTest obj's underlying member method code with example usage: obj.test_value_out_of_range(value, min_date, max_date) without return types