Skip to content

Commit

Permalink
better
Browse files Browse the repository at this point in the history
  • Loading branch information
bdworth committed Jan 29, 2024
1 parent 0f164c3 commit d90ad9a
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions tests/parsers/agilent_gen5/plate_number_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from typing import Optional

import pytest

from allotropy.parsers.agilent_gen5.plate_data import PlateNumber
Expand All @@ -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_)

0 comments on commit d90ad9a

Please sign in to comment.