def test_get_stop_message_template(monkeypatch): output = [] monkeypatch.setattr('click.edit', lambda s, **kwargs: output.extend(s.splitlines())) ev = Event('task', '2011-05-04T09:30:00Z') get_stop_message(ev) assert '# Task “task” started 2011-05-04T09:30:00Z' in output
def test_event_creation(task, start, delta, message): e = Event(task, start, delta, message) expect(e.task) == task if isinstance(start, datetime): expect(e.start) == start elif start: expect(e.start) == parse_datetime(start) else: # Special case to ignore comparison against utcnow() pass if isinstance(delta, timedelta): expect(e.delta) == delta else: expect(e.delta) == parse_delta(delta) expect(e.message) == message
def test_event_creation(task: str, start: Optional[Union[str, datetime]], delta: Optional[Union[str, timedelta]], message: str): e = Event(task, start, delta, message) assert e.task == task if isinstance(start, datetime): assert e.start == start elif start: assert e.start == parse_datetime(start).replace(tzinfo=None) else: # Special case to ignore comparison against utcnow() pass if isinstance(delta, timedelta): assert e.delta == delta else: assert e.delta == parse_delta(delta) assert e.message == message
def test_get_stop_message(edit_func: Callable, message: str, monkeypatch): monkeypatch.setattr('click.edit', edit_func) ev = Event('task', '2011-05-04T09:30:00Z', '', message) assert get_stop_message(ev) == message
def test_events_repr(): ev1 = Event('task', '2011-05-05T11:23:48Z', 'PT01H00M00S') ev2 = Event('task', '2011-05-05T12:23:48Z', 'PT00H30M00S') events = Events([ev1, ev2]) assert repr(events) == eval_repr(events)
from pytest import mark from rdial.events import Event, Events def eval_repr(obj: object): """Regenerate an object from its ``__repr__`` output. Args: obj: Object to evaluate """ return repr(eval(repr(obj))) @mark.parametrize('ev', [ Event('task', '2011-05-05T11:23:48Z', 'PT01H00M00S'), Event('task', '2011-05-05T11:23:48Z', ''), Event('task', '2011-05-05T11:23:48Z', 'PT01H00M00S', 'message'), ]) def test_event_repr(ev: Event): assert repr(ev) == eval_repr(ev) def test_events_repr(): ev1 = Event('task', '2011-05-05T11:23:48Z', 'PT01H00M00S') ev2 = Event('task', '2011-05-05T12:23:48Z', 'PT00H30M00S') events = Events([ev1, ev2]) assert repr(events) == eval_repr(events)
def test_events(self): ev1 = Event("task", "2011-05-05T11:23:48Z", "PT01H00M00S") ev2 = Event("task", "2011-05-05T12:23:48Z", "PT00H30M00S") events = Events([ev1, ev2]) expect(repr(events)) == eval_repr(events)
def test_event_with_message(self): ev = Event("task", "2011-05-05T11:23:48Z", "PT01H00M00S", "message") expect(repr(ev)) == eval_repr(ev)
def test_event_no_delta(self): ev = Event("task", "2011-05-05T11:23:48Z", "") expect(repr(ev)) == eval_repr(ev)
def test_event_equality(): ev1 = Event('test', datetime(2013, 2, 26, 19, 45, 14), None, None) ev2 = Event('test', datetime(2013, 2, 26, 19, 45, 14), None, None) assert ev1 == ev2
def test_event_creation_non_naive(): with raises(ValueError, match='Must be a naive datetime'): Event('test', datetime(2013, 2, 26, 19, 45, 14, tzinfo=timezone.utc), None, None)
def test_event_creation_non_naive(): with raises(ValueError, match='Must be a naive datetime'): Event('test', datetime(2013, 2, 26, 19, 45, 14, tzinfo=timezone.utc), None, None) def test_event_equality(): ev1 = Event('test', datetime(2013, 2, 26, 19, 45, 14), None, None) ev2 = Event('test', datetime(2013, 2, 26, 19, 45, 14), None, None) assert ev1 == ev2 @mark.parametrize('ev1, ev2', [ (Event( 'test', datetime(2013, 2, 26, 19, 45, 14), ), Event( 'not_test', datetime(2013, 2, 26, 19, 45, 14), )), (Event( 'date', datetime(2013, 2, 26, 19, 45, 14), ), Event( 'date', datetime(2001, 1, 1, 0, 0, 0), )), (Event('message', datetime(2013, 2, 26, 19, 45, 14), None, 'test'), Event('message', datetime(2013, 2, 26, 19, 45, 14), None, 'breakage')), ]) def test_event_inequality(ev1: Event, ev2: Event):