summaryrefslogtreecommitdiff
path: root/testapp/tests/test_java_evaluation.py
diff options
context:
space:
mode:
authorankitjavalkar2015-05-13 18:20:26 +0530
committerankitjavalkar2015-05-20 14:58:05 +0530
commit92150265c82f3d1f6e4eb382447ae8e448cd406f (patch)
treef14a18f7e821d87b098a93610ece8772d568563b /testapp/tests/test_java_evaluation.py
parent13317f56278969cb6568026d099e15166bfc5d6c (diff)
downloadonline_test-92150265c82f3d1f6e4eb382447ae8e448cd406f.tar.gz
online_test-92150265c82f3d1f6e4eb382447ae8e448cd406f.tar.bz2
online_test-92150265c82f3d1f6e4eb382447ae8e448cd406f.zip
Fix import paths, formatting, views and minor errors
- Submitted file path should be set after changing directory - Change timeout duration in java test case - Set shell=True in _compile_command - Fix errors in code as per tests
Diffstat (limited to 'testapp/tests/test_java_evaluation.py')
-rw-r--r--testapp/tests/test_java_evaluation.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/testapp/tests/test_java_evaluation.py b/testapp/tests/test_java_evaluation.py
index d86d7b3..23d8bf4 100644
--- a/testapp/tests/test_java_evaluation.py
+++ b/testapp/tests/test_java_evaluation.py
@@ -1,7 +1,8 @@
import unittest
import os
-from exam.java_code_evaluator import JavaCodeEvaluator
-from exam.settings import SERVER_TIMEOUT
+from testapp.exam import code_evaluator as evaluator
+from testapp.exam.java_code_evaluator import JavaCodeEvaluator
+
class JavaEvaluationTestCases(unittest.TestCase):
def setUp(self):
@@ -9,13 +10,20 @@ class JavaEvaluationTestCases(unittest.TestCase):
self.ref_code_path = "java_files/main_square.java"
self.in_dir = "/tmp"
self.test_case_data = []
+ evaluator.SERVER_TIMEOUT = 9
self.timeout_msg = ("Code took more than {0} seconds to run. "
- "You probably have an infinite loop in your code.").format(SERVER_TIMEOUT)
+ "You probably have an infinite loop in "
+ "your code.").format(evaluator.SERVER_TIMEOUT)
self.test = None
+ def tearDown(self):
+ evaluator.SERVER_TIMEOUT = 2
+
def test_correct_answer(self):
user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a;\n\t}\n}"
- get_class = JavaCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+ get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+ self.language, user_answer,
+ self.ref_code_path, self.in_dir)
result = get_class.evaluate()
self.assertTrue(result.get("success"))
@@ -23,7 +31,9 @@ class JavaEvaluationTestCases(unittest.TestCase):
def test_error(self):
user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a"
- get_class = JavaCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+ get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+ self.language, user_answer,
+ self.ref_code_path, self.in_dir)
result = get_class.evaluate()
self.assertFalse(result.get("success"))
@@ -31,11 +41,13 @@ class JavaEvaluationTestCases(unittest.TestCase):
def test_infinite_loop(self):
user_answer = "class Test {\n\tint square_num(int a) {\n\t\twhile(0==0){\n\t\t}\n\t}\n}"
- get_class = JavaCodeEvaluator(self.test_case_data, self.test, self.language, user_answer, self.ref_code_path, self.in_dir)
+ get_class = JavaCodeEvaluator(self.test_case_data, self.test,
+ self.language, user_answer,
+ self.ref_code_path, self.in_dir)
result = get_class.evaluate()
self.assertFalse(result.get("success"))
self.assertEquals(result.get("error"), self.timeout_msg)
if __name__ == '__main__':
- unittest.main() \ No newline at end of file
+ unittest.main()