-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathjob_test.py
50 lines (33 loc) · 1.36 KB
/
job_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import pytest
from pypette import Job
def test_default_args() -> None:
"""Validates the default arguments set for jobs."""
def dummy():
pass
j = Job(dummy)
assert () == j.args
assert {} == j.kwargs
def test_function_validation() -> None:
"""Tests the function validation mechanism."""
with pytest.raises(AssertionError):
Job(1) # type: ignore
with pytest.raises(AssertionError):
Job('test') # type: ignore
def test_string_representation() -> None:
"""Tests printable representation of Jobs."""
def dummy(msg):
pass
assert "Job(function=dummy, args=('a',), kwargs={'msg': 'a'})" == Job(dummy, ('a',), {'msg': 'a'}).__repr__()
assert "Job(function=dummy, args=('a',), kwargs={'msg': 'a'})" == Job(dummy, ('a',), {'msg': 'a'}).__str__()
def test_equality() -> None:
"""Validates equality of jobs."""
def dummy(msg):
pass
def dummy1(msg):
pass
assert Job(dummy, args=('a',)) == Job(dummy, args=('a',))
assert Job(dummy, args=('a',)) != Job(dummy1, args=('a',))
assert Job(dummy, args=('a',)) != Job(dummy, args=('b',))
assert Job(dummy, kwargs={'msg': 'a'}) == Job(dummy, kwargs={'msg': 'a'})
assert Job(dummy, kwargs={'msg': 'a'}) != Job(dummy1, kwargs={'msg': 'a'})
assert Job(dummy, kwargs={'msg': 'a'}) != Job(dummy, kwargs={'msg': 'b'})