31 lines
760 B
Python
31 lines
760 B
Python
import datetime
|
|
|
|
import pytest
|
|
|
|
from obsidian_import import obsidian
|
|
|
|
EXAMPLES = [
|
|
obsidian.Event(
|
|
datetime.time(12, 0, 0),
|
|
datetime.time(12, 0, 0),
|
|
'Ate',
|
|
'Lunch',
|
|
'instantly',
|
|
),
|
|
obsidian.Event(
|
|
datetime.time(20, 0, 0),
|
|
datetime.time(22, 0, 0),
|
|
'Watched',
|
|
'Tom and Jerry',
|
|
'on the *Television*',
|
|
),
|
|
obsidian.Event(None, None, None, None, 'Took a walk'),
|
|
obsidian.Event(None, None, None, None, 'Watched [[Cyberpunk: Edgerunners]].'),
|
|
]
|
|
|
|
|
|
@pytest.mark.parametrize('event', EXAMPLES)
|
|
def test_format_preserves_information(event: obsidian.Event):
|
|
formatted = obsidian.format_event_string(event)
|
|
assert obsidian.parse_event_string(formatted) == event
|