diff options
Diffstat (limited to 'yaksh/evaluator_tests/test_java_evaluation.py')
-rw-r--r-- | yaksh/evaluator_tests/test_java_evaluation.py | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/yaksh/evaluator_tests/test_java_evaluation.py b/yaksh/evaluator_tests/test_java_evaluation.py index 58d5432..b53d8aa 100644 --- a/yaksh/evaluator_tests/test_java_evaluation.py +++ b/yaksh/evaluator_tests/test_java_evaluation.py @@ -10,9 +10,10 @@ from yaksh import grader as gd from yaksh.grader import Grader from yaksh.java_code_evaluator import JavaCodeEvaluator from yaksh.java_stdio_evaluator import JavaStdIOEvaluator +from yaksh.evaluator_tests.test_python_evaluation import EvaluatorBaseTest -class JavaAssertionEvaluationTestCases(unittest.TestCase): +class JavaAssertionEvaluationTestCases(EvaluatorBaseTest): def setUp(self): self.f_path = os.path.join(tempfile.gettempdir(), "test.txt") with open(self.f_path, 'wb') as f: @@ -90,7 +91,6 @@ class JavaAssertionEvaluationTestCases(unittest.TestCase): result = grader.evaluate(kwargs) # Then - self.assertEqual(result.get('error'), "Correct answer\n") self.assertTrue(result.get('success')) def test_incorrect_answer(self): @@ -112,9 +112,9 @@ class JavaAssertionEvaluationTestCases(unittest.TestCase): # Then self.assertFalse(result.get('success')) - lines_of_error = len(result.get('error').splitlines()) + lines_of_error = len(result.get('error')[0].splitlines()) self.assertFalse(result.get('success')) - self.assertIn("Incorrect", result.get('error')) + self.assert_correct_output("Incorrect", result.get('error')) self.assertTrue(lines_of_error > 1) def test_error(self): @@ -136,7 +136,7 @@ class JavaAssertionEvaluationTestCases(unittest.TestCase): # Then self.assertFalse(result.get("success")) - self.assertTrue("Error" in result.get("error")) + self.assert_correct_output("Error", result.get("error")) def test_infinite_loop(self): # Given @@ -157,7 +157,7 @@ class JavaAssertionEvaluationTestCases(unittest.TestCase): # Then self.assertFalse(result.get("success")) - self.assertEqual(result.get("error"), self.timeout_msg) + self.assert_correct_output(self.timeout_msg, result.get("error")) def test_file_based_assert(self): # Given @@ -230,9 +230,8 @@ class JavaAssertionEvaluationTestCases(unittest.TestCase): # Then self.assertTrue(result.get("success")) - self.assertEqual(result.get("error"), "Correct answer\n") -class JavaStdIOEvaluationTestCases(unittest.TestCase): +class JavaStdIOEvaluationTestCases(EvaluatorBaseTest): def setUp(self): self.f_path = os.path.join(tempfile.gettempdir(), "test.txt") with open(self.f_path, 'wb') as f: @@ -281,7 +280,6 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): result = grader.evaluate(kwargs) # Then - self.assertEqual(result.get('error'), "Correct answer\n") self.assertTrue(result.get('success')) def test_array_input(self): @@ -316,7 +314,6 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): result = grader.evaluate(kwargs) # Then - self.assertEqual(result.get('error'), "Correct answer\n") self.assertTrue(result.get('success')) def test_incorrect_answer(self): @@ -344,11 +341,10 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): grader = Grader(self.in_dir) result = grader.evaluate(kwargs) - lines_of_error = len(result.get('error').splitlines()) - # Then + lines_of_error = len(result.get('error')[0].splitlines()) self.assertFalse(result.get('success')) - self.assertIn("Incorrect", result.get('error')) + self.assert_correct_output("Incorrect", result.get('error')) self.assertTrue(lines_of_error > 1) def test_error(self): @@ -374,7 +370,7 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): # Then self.assertFalse(result.get("success")) - self.assertTrue("Compilation Error" in result.get("error")) + self.assertTrue("Compilation Error" in '\n'.join(result.get("error"))) def test_infinite_loop(self): # Given @@ -401,7 +397,7 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): # Then self.assertFalse(result.get("success")) - self.assertEqual(result.get("error"), self.timeout_msg) + self.assert_correct_output(self.timeout_msg, result.get("error")) def test_only_stdout(self): # Given @@ -432,7 +428,6 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): result = grader.evaluate(kwargs) # Then - self.assertEqual(result.get('error'), "Correct answer\n") self.assertTrue(result.get('success')) def test_string_input(self): @@ -466,7 +461,6 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): result = grader.evaluate(kwargs) # Then - self.assertEqual(result.get('error'), "Correct answer\n") self.assertTrue(result.get('success')) def test_file_based_stdout(self): @@ -511,7 +505,6 @@ class JavaStdIOEvaluationTestCases(unittest.TestCase): # Then self.assertTrue(result.get("success")) - self.assertEqual(result.get("error"), "Correct answer\n") if __name__ == '__main__': |