Skip to content

Commit 28e2c25

Browse files
Combined order operator tests into one more comprehensive parametrized test
1 parent fe84acd commit 28e2c25

File tree

1 file changed

+21
-66
lines changed

1 file changed

+21
-66
lines changed

app/tests/physical_quantity_evaluation_tests.py

Lines changed: 21 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -257,77 +257,32 @@ def test_MECH60001_dynamic_signals_error_with_dB(self):
257257
result = evaluation_function(res, ans, params, include_test_data=True)
258258
assert result["is_correct"] is True
259259

260-
def test_quantity_with_multiple_of_positive_value(self):
261-
ans = "5 Hz"
262-
res = "10 Hz"
263-
params = {
264-
"strict_syntax": False,
265-
"physical_quantity": True,
266-
"elementary functions": True,
267-
"criteria": "response > answer"
268-
}
269-
result = evaluation_function(res, ans, params, include_test_data=True)
270-
assert result["is_correct"] is True
271-
272-
def test_quantity_response_less_than_answer(self):
273-
ans = "15 Hz"
274-
res = "10 Hz"
275-
params = {
276-
"strict_syntax": False,
277-
"physical_quantity": True,
278-
"elementary functions": True,
279-
"criteria": "response < answer"
280-
}
281-
result = evaluation_function(res, ans, params, include_test_data=True)
282-
assert result["is_correct"] is True
283-
284-
def test_quantity_response_greater_than_equal_answer(self):
285-
ans = "5 Hz"
286-
res = "10 Hz"
287-
params = {
288-
"strict_syntax": False,
289-
"physical_quantity": True,
290-
"elementary functions": True,
291-
"criteria": "response >= answer"
292-
}
293-
result = evaluation_function(res, ans, params, include_test_data=True)
294-
assert result["is_correct"] is True
295-
296-
def test_quantity_response_greater_than_equal_answer_equal(self):
297-
ans = "10 Hz"
298-
res = "10 Hz"
299-
params = {
300-
"strict_syntax": False,
301-
"physical_quantity": True,
302-
"elementary functions": True,
303-
"criteria": "response >= answer"
304-
}
305-
result = evaluation_function(res, ans, params, include_test_data=True)
306-
assert result["is_correct"] is True
307-
308-
def test_quantity_response_less_than_equal_answer(self):
309-
ans = "15 Hz"
310-
res = "10 Hz"
311-
params = {
312-
"strict_syntax": False,
313-
"physical_quantity": True,
314-
"elementary functions": True,
315-
"criteria": "response <= answer"
316-
}
317-
result = evaluation_function(res, ans, params, include_test_data=True)
318-
assert result["is_correct"] is True
319-
320-
def test_quantity_response_less_than_equal_answer_equal(self):
321-
ans = "10 Hz"
322-
res = "10 Hz"
260+
@pytest.mark.parametrize(
261+
"response, answer, order_operator, value",
262+
[
263+
("10 Hz", "5 Hz", ">", True),
264+
("5 Hz", "10 Hz", ">", False),
265+
("10 Hz", "10 Hz", ">", False),
266+
("10 Hz", "5 Hz", "<", False),
267+
("5 Hz", "10 Hz", "<", True),
268+
("10 Hz", "10 Hz", "<", False),
269+
("10 Hz", "5 Hz", ">=", True),
270+
("5 Hz", "10 Hz", ">=", False),
271+
("10 Hz", "10 Hz", ">=", True),
272+
("10 Hz", "5 Hz", "<=", False),
273+
("5 Hz", "10 Hz", "<=", True),
274+
("10 Hz", "10 Hz", "<=", True),
275+
]
276+
)
277+
def test_order_operators(self, response, answer, order_operator, value):
323278
params = {
324279
"strict_syntax": False,
325280
"physical_quantity": True,
326281
"elementary functions": True,
327-
"criteria": "response <= answer"
282+
"criteria": "response "+order_operator+" answer"
328283
}
329-
result = evaluation_function(res, ans, params, include_test_data=True)
330-
assert result["is_correct"] is True
284+
result = evaluation_function(response, answer, params, include_test_data=True)
285+
assert result["is_correct"] is value
331286

332287
def test_radians_to_frequency(self):
333288
ans = "2*pi*f radian/second"

0 commit comments

Comments
 (0)