Skip to content

Commit 3ba3649

Browse files
+ Added test cases for decorators
1 parent 532d843 commit 3ba3649

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

tests/test_decorator.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import time
2+
import pytest
3+
from src.thread import threaded, exceptions
4+
5+
6+
# >>>>>>>>>> Dummy Functions <<<<<<<<<< #
7+
def _dummy_target_raiseToPower(x: float, power: float, delay: float = 0):
8+
time.sleep(delay)
9+
return x**power
10+
11+
def _dummy_raiseException(x: Exception, delay: float = 0):
12+
time.sleep(delay)
13+
raise x
14+
15+
def _dummy_iterative(itemCount: int, pTime: float = 0.1, delay: float = 0):
16+
time.sleep(delay)
17+
for i in range(itemCount):
18+
time.sleep(pTime)
19+
20+
21+
22+
23+
# >>>>>>>>>> General Use <<<<<<<<<< #
24+
def test_creationNoParam():
25+
@threaded
26+
def _run(*args):
27+
return _dummy_target_raiseToPower(*args)
28+
29+
x = _run(2, 2)
30+
assert x.get_return_value() == 4
31+
32+
def test_creationEmptyParam():
33+
@threaded()
34+
def _run(*args):
35+
return _dummy_target_raiseToPower(*args)
36+
37+
x = _run(2, 2)
38+
assert x.get_return_value() == 4
39+
40+
def test_creationWithParam():
41+
@threaded(daemon = True)
42+
def _run(*args):
43+
return _dummy_target_raiseToPower(*args)
44+
45+
x = _run(2, 2)
46+
assert x.daemon
47+
assert x.get_return_value() == 4
48+
49+
def test_argJoin():
50+
@threaded(daemon = True, args = (1, 2, 3))
51+
def _run(*args):
52+
return args
53+
54+
x = _run(8, 9)
55+
assert x.get_return_value() == (1, 2, 3, 8, 9)

0 commit comments

Comments
 (0)