Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Udayraj123
GitHub Repository: Udayraj123/OMRChecker
Path: blob/master/src/tests/test_all_samples.py
228 views
1
import os
2
import shutil
3
from glob import glob
4
5
from src.tests.utils import run_entry_point, setup_mocker_patches
6
7
8
def read_file(path):
9
with open(path) as file:
10
return file.read()
11
12
13
def run_sample(mocker, sample_path):
14
setup_mocker_patches(mocker)
15
16
input_path = os.path.join("samples", sample_path)
17
output_dir = os.path.join("outputs", sample_path)
18
if os.path.exists(output_dir):
19
print(
20
f"Warning: output directory already exists: {output_dir}. This may affect the test execution."
21
)
22
23
run_entry_point(input_path, output_dir)
24
25
sample_outputs = extract_sample_outputs(output_dir)
26
27
print(f"Note: removing output directory: {output_dir}")
28
shutil.rmtree(output_dir)
29
30
return sample_outputs
31
32
33
EXT = "*.csv"
34
35
36
def extract_sample_outputs(output_dir):
37
sample_outputs = {}
38
for _dir, _subdir, _files in os.walk(output_dir):
39
for file in glob(os.path.join(_dir, EXT)):
40
relative_path = os.path.relpath(file, output_dir)
41
sample_outputs[relative_path] = read_file(file)
42
return sample_outputs
43
44
45
def test_run_answer_key_using_csv(mocker, snapshot):
46
sample_outputs = run_sample(mocker, "answer-key/using-csv")
47
assert snapshot == sample_outputs
48
49
50
def test_run_answer_key_weighted_answers(mocker, snapshot):
51
sample_outputs = run_sample(mocker, "answer-key/weighted-answers")
52
assert snapshot == sample_outputs
53
54
55
def test_run_sample1(mocker, snapshot):
56
sample_outputs = run_sample(mocker, "sample1")
57
assert snapshot == sample_outputs
58
59
60
def test_run_sample2(mocker, snapshot):
61
sample_outputs = run_sample(mocker, "sample2")
62
assert snapshot == sample_outputs
63
64
65
def test_run_sample3(mocker, snapshot):
66
sample_outputs = run_sample(mocker, "sample3")
67
assert snapshot == sample_outputs
68
69
70
def test_run_sample4(mocker, snapshot):
71
sample_outputs = run_sample(mocker, "sample4")
72
assert snapshot == sample_outputs
73
74
75
def test_run_sample5(mocker, snapshot):
76
sample_outputs = run_sample(mocker, "sample5")
77
assert snapshot == sample_outputs
78
79
80
def test_run_sample6(mocker, snapshot):
81
sample_outputs = run_sample(mocker, "sample6")
82
assert snapshot == sample_outputs
83
84
85
def test_run_community_Antibodyy(mocker, snapshot):
86
sample_outputs = run_sample(mocker, "community/Antibodyy")
87
assert snapshot == sample_outputs
88
89
90
def test_run_community_ibrahimkilic(mocker, snapshot):
91
sample_outputs = run_sample(mocker, "community/ibrahimkilic")
92
assert snapshot == sample_outputs
93
94
95
def test_run_community_Sandeep_1507(mocker, snapshot):
96
sample_outputs = run_sample(mocker, "community/Sandeep-1507")
97
assert snapshot == sample_outputs
98
99
100
def test_run_community_Shamanth(mocker, snapshot):
101
sample_outputs = run_sample(mocker, "community/Shamanth")
102
assert snapshot == sample_outputs
103
104
105
def test_run_community_UmarFarootAPS(mocker, snapshot):
106
sample_outputs = run_sample(mocker, "community/UmarFarootAPS")
107
assert snapshot == sample_outputs
108
109
110
def test_run_community_UPSC_mock(mocker, snapshot):
111
sample_outputs = run_sample(mocker, "community/UPSC-mock")
112
assert snapshot == sample_outputs
113
114