mirror of
https://github.com/hwchase17/langchain.git
synced 2025-10-25 21:03:11 +00:00
Harrison/datetime parser (#4693)
Co-authored-by: Jacob Valdez <jacobfv@msn.com> Co-authored-by: Jacob Valdez <jacob.valdez@limboid.ai> Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
This commit is contained in:
49
tests/unit_tests/output_parsers/test_datetime_parser.py
Normal file
49
tests/unit_tests/output_parsers/test_datetime_parser.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from datetime import datetime
|
||||
from time import sleep
|
||||
|
||||
from langchain.output_parsers.datetime import DatetimeOutputParser
|
||||
|
||||
|
||||
def test_datetime_output_parser_parse() -> None:
|
||||
parser = DatetimeOutputParser()
|
||||
|
||||
# Test valid input
|
||||
date = datetime.now()
|
||||
datestr = date.strftime(parser.format)
|
||||
result = parser.parse(datestr)
|
||||
assert result == date
|
||||
|
||||
# Test valid input
|
||||
parser.format = "%Y-%m-%dT%H:%M:%S"
|
||||
date = datetime.now()
|
||||
datestr = date.strftime(parser.format)
|
||||
result = parser.parse(datestr)
|
||||
assert (
|
||||
result.year == date.year
|
||||
and result.month == date.month
|
||||
and result.day == date.day
|
||||
and result.hour == date.hour
|
||||
and result.minute == date.minute
|
||||
and result.second == date.second
|
||||
)
|
||||
|
||||
# Test valid input
|
||||
parser.format = "%H:%M:%S"
|
||||
date = datetime.now()
|
||||
datestr = date.strftime(parser.format)
|
||||
result = parser.parse(datestr)
|
||||
assert (
|
||||
result.hour == date.hour
|
||||
and result.minute == date.minute
|
||||
and result.second == date.second
|
||||
)
|
||||
|
||||
# Test invalid input
|
||||
try:
|
||||
sleep(0.001)
|
||||
datestr = date.strftime(parser.format)
|
||||
result = parser.parse(datestr)
|
||||
assert result == date
|
||||
assert False, "Should have raised AssertionError"
|
||||
except AssertionError:
|
||||
pass
|
||||
Reference in New Issue
Block a user