diff options
author | adityacp | 2018-05-29 12:48:24 +0530 |
---|---|---|
committer | adityacp | 2018-06-07 14:50:47 +0530 |
commit | 683cc77b3c5c8d7f63d8fd8384cc03d5ee089b43 (patch) | |
tree | c79ca4c3a1baeda38bfdf0cd4994a0ab1848b76b | |
parent | 9006f08dd153530c334cf000b858fdc8d9943d7e (diff) | |
download | online_test-683cc77b3c5c8d7f63d8fd8384cc03d5ee089b43.tar.gz online_test-683cc77b3c5c8d7f63d8fd8384cc03d5ee089b43.tar.bz2 online_test-683cc77b3c5c8d7f63d8fd8384cc03d5ee089b43.zip |
Add tests for bash evaluator
-rw-r--r-- | yaksh/evaluator_tests/test_bash_evaluation.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/yaksh/evaluator_tests/test_bash_evaluation.py b/yaksh/evaluator_tests/test_bash_evaluation.py index 19f9fb2..f86bf24 100644 --- a/yaksh/evaluator_tests/test_bash_evaluation.py +++ b/yaksh/evaluator_tests/test_bash_evaluation.py @@ -58,6 +58,58 @@ class BashAssertionEvaluationTestCases(EvaluatorBaseTest): # Then self.assertTrue(result.get('success')) + def test_correct_answer_without_test_case_args(self): + # Given + user_answer = "echo 'hello'" + tc_data = "echo 'hello'" + self.test_case_data = [ + {"test_case": tc_data, + "test_case_args": "", + "test_case_type": "standardtestcase", + "weight": 0.0 + } + ] + kwargs = {'metadata': { + 'user_answer': user_answer, + 'file_paths': self.file_paths, + 'partial_grading': False, + 'language': 'bash' + }, 'test_case_data': self.test_case_data, + } + + # When + grader = Grader(self.in_dir) + result = grader.evaluate(kwargs) + + # Then + self.assertTrue(result.get('success')) + + def test_incorrect_answer_without_test_case_args(self): + # Given + user_answer = "echo 'hello'" + tc_data = "echo 'hello world'" + self.test_case_data = [ + {"test_case": tc_data, + "test_case_args": "", + "test_case_type": "standardtestcase", + "weight": 0.0 + } + ] + kwargs = {'metadata': { + 'user_answer': user_answer, + 'file_paths': self.file_paths, + 'partial_grading': False, + 'language': 'bash' + }, 'test_case_data': self.test_case_data, + } + + # When + grader = Grader(self.in_dir) + result = grader.evaluate(kwargs) + + # Then + self.assertFalse(result.get('success')) + def test_error(self): # Given user_answer = ("#!/bin/bash\n[[ $# -eq 2 ]] " |