-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclasses_test.py
More file actions
36 lines (30 loc) · 1.01 KB
/
classes_test.py
File metadata and controls
36 lines (30 loc) · 1.01 KB
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
import collections
import logging
import os
import sys
from collections import deque
from arena.engine.classes import ClassUnderTest
# logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
def test_load_by_name():
# by type
cut = ClassUnderTest("1", deque)
assert cut.class_under_test is deque
# by fully qualified type
cut = ClassUnderTest("1", collections.deque)
assert cut.class_under_test is deque
# by class name DOES NOT WORK
cut = ClassUnderTest("1", "deque")
assert cut.class_under_test is None
# by fully-qualified class name works
cut = ClassUnderTest("1", "collections.deque")
assert cut.class_under_test is deque
def test_module():
assert ClassUnderTest("1", os).is_module()
assert not ClassUnderTest("1", deque).is_module()