From 5be022f5356c7afbe108eaa37839deb16194f16d Mon Sep 17 00:00:00 2001 From: edithatogo <15080672+edithatogo@users.noreply.github.com> Date: Tue, 28 Jul 2026 14:57:35 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20Unit=20tests=20for=20=5Fparse=5F?= =?UTF-8?q?date?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contracts/tools/tests/test_parameters.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 contracts/tools/tests/test_parameters.py diff --git a/contracts/tools/tests/test_parameters.py b/contracts/tools/tests/test_parameters.py new file mode 100644 index 0000000..afe67b4 --- /dev/null +++ b/contracts/tools/tests/test_parameters.py @@ -0,0 +1,22 @@ +import pytest +from datetime import date + +from pic_contracts.parameters import _parse_date + + +def test_parse_date_with_none(): + assert _parse_date(None) is None + + +def test_parse_date_with_valid_iso_string(): + assert _parse_date("2023-10-25") == date(2023, 10, 25) + + +def test_parse_date_with_invalid_string_raises_value_error(): + with pytest.raises(ValueError): + _parse_date("invalid-date") + + +def test_parse_date_with_invalid_type_raises_type_error(): + with pytest.raises(TypeError): + _parse_date(123)