mirror of
https://github.com/hwchase17/langchain
synced 2024-10-29 17:07:25 +00:00
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
|
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
|