Esempio n. 1
0
 def test_file_based_assert(self):
     self.file_paths = [(os.getcwd()+"/yaksh/test.txt", False)]
     self.test_case_data = [
         {"test_case": "java_files/read_file.java"}
     ]
     user_answer = dedent("""
         import java.io.BufferedReader;
         import java.io.FileReader;
         import java.io.IOException;
         class Test{
         String readFile() throws IOException {
         BufferedReader br = new BufferedReader(new FileReader("test.txt"));
         try {
             StringBuilder sb = new StringBuilder();
             String line = br.readLine();
             while (line != null) {
                 sb.append(line);
                 line = br.readLine();}
             return sb.toString();
         } finally {
             br.close();
         }}}
         """)
     get_class = JavaCodeEvaluator(self.in_dir)
     kwargs = {'user_answer': user_answer,
               'test_case_data': self.test_case_data,
               'file_paths': self.file_paths
               }
     result = get_class.evaluate(**kwargs)
     self.assertTrue(result.get("success"))
     self.assertEquals(result.get("error"), "Correct answer")
Esempio n. 2
0
 def test_file_based_assert(self):
     self.file_paths = [(os.getcwd() + "/yaksh/test.txt", False)]
     self.test_case_data = [{"test_case": "java_files/read_file.java"}]
     user_answer = dedent("""
         import java.io.BufferedReader;
         import java.io.FileReader;
         import java.io.IOException;
         class Test{
         String readFile() throws IOException {
         BufferedReader br = new BufferedReader(new FileReader("test.txt"));
         try {
             StringBuilder sb = new StringBuilder();
             String line = br.readLine();
             while (line != null) {
                 sb.append(line);
                 line = br.readLine();}
             return sb.toString();
         } finally {
             br.close();
         }}}
         """)
     get_class = JavaCodeEvaluator(self.in_dir)
     kwargs = {
         'user_answer': user_answer,
         'test_case_data': self.test_case_data,
         'file_paths': self.file_paths
     }
     result = get_class.evaluate(**kwargs)
     self.assertTrue(result.get("success"))
     self.assertEquals(result.get("error"), "Correct answer")
 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.in_dir)
     kwargs = {'user_answer': user_answer, 
                 'test_case_data': self.test_case_data
             }
     result = get_class.evaluate(**kwargs) 
     self.assertFalse(result.get("success"))
     self.assertEquals(result.get("error"), self.timeout_msg)
 def test_error(self):
     user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a"
     get_class = JavaCodeEvaluator(self.in_dir)
     kwargs = {'user_answer': user_answer, 
                 'test_case_data': self.test_case_data
             }
     result = get_class.evaluate(**kwargs) 
     self.assertFalse(result.get("success"))
     self.assertTrue("Error" in result.get("error"))
 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.in_dir)
     kwargs = {'user_answer': user_answer, 
                 'test_case_data': self.test_case_data
             }
     result = get_class.evaluate(**kwargs)
     self.assertEquals(result.get('error'), "Correct answer")
     self.assertTrue(result.get('success'))
Esempio n. 6
0
    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)
        result = get_class.evaluate()
 
        self.assertFalse(result.get("success"))
        self.assertEquals(result.get("error"), self.timeout_msg)
Esempio n. 7
0
    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)
        result = get_class.evaluate()
 
        self.assertFalse(result.get("success"))
        self.assertTrue("Error" in result.get("error"))
Esempio n. 8
0
    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)
        result = get_class.evaluate()

        self.assertTrue(result.get("success"))
        self.assertEqual(result.get("error"), "Correct answer")
 def test_incorrect_answer(self):
     user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a;\n\t}\n}"
     get_class = JavaCodeEvaluator(self.in_dir)
     kwargs = {'user_answer': user_answer, 
                 'test_case_data': self.test_case_data
             }
     result = get_class.evaluate(**kwargs)
     self.assertFalse(result.get('success'))
     self.assertIn("Incorrect:", result.get('error'))
     self.assertTrue(result.get('error').splitlines > 1)
Esempio n. 10
0
 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.in_dir)
     kwargs = {
         'user_answer': user_answer,
         'test_case_data': self.test_case_data,
         'file_paths': self.file_paths
     }
     result = get_class.evaluate(**kwargs)
     self.assertFalse(result.get("success"))
     self.assertEquals(result.get("error"), self.timeout_msg)
Esempio n. 11
0
 def test_error(self):
     user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a*a"
     get_class = JavaCodeEvaluator(self.in_dir)
     kwargs = {
         'user_answer': user_answer,
         'test_case_data': self.test_case_data,
         'file_paths': self.file_paths
     }
     result = get_class.evaluate(**kwargs)
     self.assertFalse(result.get("success"))
     self.assertTrue("Error" in result.get("error"))
Esempio n. 12
0
 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.in_dir)
     kwargs = {
         'user_answer': user_answer,
         'test_case_data': self.test_case_data,
         'file_paths': self.file_paths
     }
     result = get_class.evaluate(**kwargs)
     self.assertEquals(result.get('error'), "Correct answer")
     self.assertTrue(result.get('success'))
Esempio n. 13
0
 def test_incorrect_answer(self):
     user_answer = "class Test {\n\tint square_num(int a) {\n\treturn a;\n\t}\n}"
     get_class = JavaCodeEvaluator(self.in_dir)
     kwargs = {
         'user_answer': user_answer,
         'test_case_data': self.test_case_data,
         'file_paths': self.file_paths
     }
     result = get_class.evaluate(**kwargs)
     self.assertFalse(result.get('success'))
     self.assertIn("Incorrect:", result.get('error'))
     self.assertTrue(result.get('error').splitlines > 1)