本文整理汇总了Python中yaksh.grader.Grader类的典型用法代码示例。如果您正苦于以下问题:Python Grader类的具体用法?Python Grader怎么用?Python Grader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Grader类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_infinite_loop
def test_infinite_loop(self):
# Given
self.test_case_data = [{"test_case_type": "stdiobasedtestcase",
"expected_input": "1\n2",
"expected_output": "3",
"weight": 0.0
}]
timeout_msg = ("Code took more than {0} seconds to run. "
"You probably have an infinite loop in"
" your code.").format(SERVER_TIMEOUT)
user_answer = "while True:\n\tpass"
kwargs = {'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'python'
},
'test_case_data': self.test_case_data
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assert_correct_output(timeout_msg,
result.get("error")[0]["message"]
)
self.assertFalse(result.get('success'))
开发者ID:prathamesh920,项目名称:online_test,代码行数:30,代码来源:test_python_evaluation.py
示例2: test_cpp_incorrect_answer
def test_cpp_incorrect_answer(self):
# Given
user_answer = dedent("""
#include<iostream>
using namespace std;
int main(void){
int a=10;
cout<<a;
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
lines_of_error = len(result.get('error')[0].get('error_line_numbers'))
result_error = result.get('error')[0].get('error_msg')
self.assertFalse(result.get('success'))
self.assert_correct_output("Incorrect", result_error)
self.assertTrue(lines_of_error > 0)
开发者ID:FOSSEE,项目名称:online_test,代码行数:28,代码来源:test_c_cpp_evaluation.py
示例3: test_cpp_infinite_loop
def test_cpp_infinite_loop(self):
# Given
user_answer = dedent("""
#include<iostream>
using namespace std;
int main(void){
while(0==0){
cout<<"abc";}
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertFalse(result.get("success"))
self.assert_correct_output(self.timeout_msg,
result.get("error")[0]["message"]
)
开发者ID:FOSSEE,项目名称:online_test,代码行数:27,代码来源:test_c_cpp_evaluation.py
示例4: test_array_input
def test_array_input(self):
# Given
self.test_case_data = [{'expected_output': '561',
'expected_input': '5\n6\n1',
'weight': 0.0,
'test_case_type': 'stdiobasedtestcase',
}]
user_answer = dedent("""
#include<stdio.h>
int main(void){
int a[3],i;
for(i=0;i<3;i++){
scanf("%d",&a[i]);}
for(i=0;i<3;i++){
printf("%d",a[i]);}
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:FOSSEE,项目名称:online_test,代码行数:31,代码来源:test_c_cpp_evaluation.py
示例5: test_infinite_loop
def test_infinite_loop(self):
# Given
user_answer = dedent("""
#include<stdio.h>
int main(void){
while(0==0){
printf("abc");}
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertFalse(result.get("success"))
self.assert_correct_output(self.timeout_msg,
result.get("error")[0]["message"]
)
parent_proc = Process(os.getpid()).children()
if parent_proc:
children_procs = Process(parent_proc[0].pid)
self.assertFalse(any(children_procs.children(recursive=True)))
开发者ID:FOSSEE,项目名称:online_test,代码行数:30,代码来源:test_c_cpp_evaluation.py
示例6: test_correct_answer
def test_correct_answer(self):
# Given
user_answer = dedent("""
#include<stdio.h>
int main(void){
int a,b;
scanf("%d%d",&a,&b);
printf("%d",a+b);
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
},
'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:prathamesh920,项目名称:online_test,代码行数:25,代码来源:test_c_cpp_evaluation.py
示例7: test_assignment_upload
def test_assignment_upload(self):
# Given
user_answer = "Assignment Upload"
hook_code = dedent("""\
def check_answer(user_answer):
success = False
err = "Incorrect Answer"
mark_fraction = 0.0
with open("test.txt") as f:
data = f.read()
if data == '2':
success, err, mark_fraction = True, "", 1.0
return success, err, mark_fraction
"""
)
test_case_data = [{"test_case_type": "hooktestcase",
"hook_code": hook_code,"weight": 1.0
}]
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'assign_files': [(self.tmp_file, False)],
'partial_grading': False,
'language': 'python'
},
'test_case_data': test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:prathamesh920,项目名称:online_test,代码行数:35,代码来源:test_python_evaluation.py
示例8: test_incorrect_answer_without_test_case_args
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'))
开发者ID:FOSSEE,项目名称:online_test,代码行数:25,代码来源:test_bash_evaluation.py
示例9: test_correct_answer
def test_correct_answer(self):
# Given
user_answer = "def add(a,b):\n\treturn a + b"
hook_code = dedent("""\
def check_answer(user_answer):
success = False
err = "Incorrect Answer"
mark_fraction = 0.0
exec(user_answer, globals())
if add(1,2) == 3:
success, err, mark_fraction = True, "", 1.0
return success, err, mark_fraction
"""
)
test_case_data = [{"test_case_type": "hooktestcase",
"hook_code": hook_code,"weight": 1.0
}]
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': True,
'language': 'python'
},
'test_case_data': test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:prathamesh920,项目名称:online_test,代码行数:34,代码来源:test_python_evaluation.py
示例10: test_unicode_literal_bug
def test_unicode_literal_bug(self):
# Given
user_answer = dedent("""\
a = "this should be a string."
print(type(a).__name__)
""")
test_case_data = [{"test_case_type": "stdiobasedtestcase",
"expected_input": "",
"expected_output": "str",
"weight": 0.0
}]
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'python'
},
'test_case_data': test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get("success"))
开发者ID:prathamesh920,项目名称:online_test,代码行数:25,代码来源:test_python_evaluation.py
示例11: test_incorrect_answer
def test_incorrect_answer(self):
# Given
user_answer = "def add(a,b):\n\treturn a - b"
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'python'
},
'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertFalse(result.get('success'))
given_test_case_list = [tc["test_case"] for tc in self.test_case_data]
for error in result.get("error"):
self.assertEqual(error['exception'], 'AssertionError')
self.assertEqual(error['message'],
"Expected answer from the test case did not match the output"
)
error_testcase_list = [tc['test_case'] for tc in result.get('error')]
self.assertEqual(error_testcase_list, given_test_case_list)
开发者ID:prathamesh920,项目名称:online_test,代码行数:27,代码来源:test_python_evaluation.py
示例12: test_correct_answer
def test_correct_answer(self):
# Given
user_answer = dedent("""
import java.util.Scanner;
class Test
{public static void main(String[] args){
Scanner s = new Scanner(System.in);
int a = s.nextInt();
int b = s.nextInt();
System.out.print(a+b);
}}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'java'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:FOSSEE,项目名称:online_test,代码行数:26,代码来源:test_java_evaluation.py
示例13: test_error
def test_error(self):
# Given
user_answer = dedent("""
#include<stdio.h>
int main(void){
int a=10;
printf("%d",a)
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
},
'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertFalse(result.get("success"))
self.assert_correct_output("Compilation Error", result.get("error"))
开发者ID:prathamesh920,项目名称:online_test,代码行数:25,代码来源:test_c_cpp_evaluation.py
示例14: test_error
def test_error(self):
# Given
user_answer = dedent("""
class Test
{
System.out.print("a");
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'java'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
errors = result.get('error')
# Then
self.assertFalse(result.get("success"))
for error in errors:
self.assertEqual(error.get('exception'), 'CompilationError')
开发者ID:FOSSEE,项目名称:online_test,代码行数:25,代码来源:test_java_evaluation.py
示例15: test_file_based_assert
def test_file_based_assert(self):
# Given
self.file_paths = [(self.f_path, False)]
self.tc_data = dedent("""
#!/bin/bash
cat $1
""")
self.tc_data_args = "test.txt"
self.test_case_data = [
{"test_case": self.tc_data,
"test_case_args": self.tc_data_args,
"test_case_type": "standardtestcase",
"weight": 0.0
}
]
user_answer = ("#!/bin/bash\ncat $1")
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"))
开发者ID:prathamesh920,项目名称:online_test,代码行数:32,代码来源:test_bash_evaluation.py
示例16: test_string_input
def test_string_input(self):
# Given
self.test_case_data = [{'expected_output': 'abc',
'expected_input': 'abc',
'weight': 0.0,
'test_case_type': 'stdiobasedtestcase',
}]
user_answer = dedent("""
#include<stdio.h>
int main(void){
char a[4];
scanf("%s",a);
printf("%s",a);
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:FOSSEE,项目名称:online_test,代码行数:29,代码来源:test_c_cpp_evaluation.py
示例17: test_array_input
def test_array_input(self):
# Given
user_answer = dedent(""" readarray arr;
COUNTER=0
while [ $COUNTER -lt 3 ]; do
echo -n "${arr[$COUNTER]}"
let COUNTER=COUNTER+1
done
"""
)
test_case_data = [{'expected_output': '1 2 3\n4 5 6\n7 8 9\n',
'expected_input': '1,2,3\n4,5,6\n7,8,9',
'test_case_type': 'stdiobasedtestcase',
'weight': 0.0
}]
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'bash'
},
'test_case_data': test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:prathamesh920,项目名称:online_test,代码行数:31,代码来源:test_bash_evaluation.py
示例18: test_cpp_correct_answer
def test_cpp_correct_answer(self):
# Given
user_answer = dedent("""
#include<iostream>
using namespace std;
int main(void){
int a,b;
cin>>a>>b;
cout<<a+b;
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
self.assertTrue(result.get('success'))
开发者ID:FOSSEE,项目名称:online_test,代码行数:25,代码来源:test_c_cpp_evaluation.py
示例19: test_incorrect_answer
def test_incorrect_answer(self):
# Given
user_answer = dedent(""" #!/bin/bash
read A
read B
echo -n `expr $A - $B`
"""
)
test_case_data = [{'expected_output': '11',
'expected_input': '5\n6',
'test_case_type': 'stdiobasedtestcase',
'weight': 0.0
}]
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'bash'
},
'test_case_data': test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
# Then
result_error = result.get('error')[0].get('error_msg')
self.assert_correct_output("Incorrect", result_error)
self.assertFalse(result.get('success'))
开发者ID:prathamesh920,项目名称:online_test,代码行数:31,代码来源:test_bash_evaluation.py
示例20: test_cpp_error
def test_cpp_error(self):
# Given
user_answer = dedent("""
#include<iostream>
using namespace std;
int main(void){
int a=10;
cout<<a
}""")
kwargs = {
'metadata': {
'user_answer': user_answer,
'file_paths': self.file_paths,
'partial_grading': False,
'language': 'cpp'
}, 'test_case_data': self.test_case_data,
}
# When
grader = Grader(self.in_dir)
result = grader.evaluate(kwargs)
errors = result.get('error')
# Then
self.assertFalse(result.get("success"))
for error in errors:
self.assertEqual(error['exception'], 'CompilationError')
开发者ID:FOSSEE,项目名称:online_test,代码行数:27,代码来源:test_c_cpp_evaluation.py
注:本文中的yaksh.grader.Grader类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论