|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +from __future__ import unicode_literals |
| 3 | + |
| 4 | +from datetime import datetime |
| 5 | +from yoti_python_sdk import date_parser |
| 6 | +import pytest |
| 7 | + |
| 8 | + |
| 9 | +@pytest.mark.parametrize( |
| 10 | + "string,expected", |
| 11 | + [ |
| 12 | + ("2006-11-02T15:04:05.010Z", datetime(2006, 11, 2, 15, 4, 5, 10000)), |
| 13 | + ("2006-09-02T15:04:05.010Z", datetime(2006, 9, 2, 15, 4, 5, 10000)), |
| 14 | + ("2006-9-02T15:04:05.010Z", datetime(2006, 9, 2, 15, 4, 5, 10000)), |
| 15 | + ("200006-11-02T15:04:05.010Z", None), |
| 16 | + ("2006-13-02T15:04:05.010Z", None), |
| 17 | + ("2006-09-31T15:04:05.010Z", None), |
| 18 | + ("2006-11-02T15:04:05", None), |
| 19 | + ("2006-11-02T15:04", None), |
| 20 | + ("2006-11-02T15", None), |
| 21 | + ("2006-11-02", None), |
| 22 | + ("2006-11", None), |
| 23 | + ("2006", None), |
| 24 | + ("This is not a date", None), |
| 25 | + ], |
| 26 | +) |
| 27 | +def test_datetime_with_microsecond_should_handle_missing_and_invalid(string, expected): |
| 28 | + output = date_parser.datetime_with_microsecond(string) |
| 29 | + assert output == expected |
0 commit comments