From d90ad9a96411000c11771d4322ffe451178ade95 Mon Sep 17 00:00:00 2001 From: Brian Worth Date: Mon, 29 Jan 2024 12:47:22 -0500 Subject: [PATCH] better --- .../parsers/agilent_gen5/plate_number_test.py | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/tests/parsers/agilent_gen5/plate_number_test.py b/tests/parsers/agilent_gen5/plate_number_test.py index 47bb49a8a..484a95590 100644 --- a/tests/parsers/agilent_gen5/plate_number_test.py +++ b/tests/parsers/agilent_gen5/plate_number_test.py @@ -1,3 +1,5 @@ +from typing import Optional + import pytest from allotropy.parsers.agilent_gen5.plate_data import PlateNumber @@ -9,24 +11,22 @@ ("1/2/2024", "10:48:38 AM", "2024-01-02T10:48:38"), ("1/31/2024", "10:48:38 AM", "2024-01-31T10:48:38"), ("2/1/2024", "10:48:38 AM", "2024-02-01T10:48:38"), + ("1/31/2024", "10:48:38", None), + ("31/1/2024", "10:48:38", None), + ("2/1/2024", "10:48:38", None), + ("2/1/2024", "10:48:38 EST", None), ], ) -def test_plate_number_parse_datetime(date_: str, time_: str, expected: str) -> None: - datetime_ = PlateNumber._parse_datetime(date_, time_) - assert datetime_ == expected - - -@pytest.mark.parametrize( - "date_,time_", - [ - ("1/31/2024", "10:48:38"), - ("31/1/2024", "10:48:38"), - ("2/1/2024", "10:48:38"), - ("2/1/2024", "10:48:38 EST"), - ], -) -def test_plate_number_parse_datetime_fails(date_: str, time_: str) -> None: - expected = f"time data '{date_} {time_}' does not match format '%m/%d/%Y %I:%M:%S %p'" - # TODO(brian): should raise AllotropeConversionError - with pytest.raises(ValueError, match=expected): - PlateNumber._parse_datetime(date_, time_) +def test_plate_number_parse_datetime( + date_: str, time_: str, expected: Optional[str] +) -> None: + if expected: + datetime_ = PlateNumber._parse_datetime(date_, time_) + assert datetime_ == expected + else: + expected_error_message = ( + f"time data '{date_} {time_}' does not match format '%m/%d/%Y %I:%M:%S %p'" + ) + # TODO(brian): should raise AllotropeConversionError + with pytest.raises(ValueError, match=expected_error_message): + PlateNumber._parse_datetime(date_, time_)