Struct emjudge_judgecore::test::AnwserTester
source · pub struct AnwserTester { /* private fields */ }
Implementations§
source§impl AnwserTester
impl AnwserTester
sourcepub fn new(eval_runner: &StandardRunner, exe_eval_script: &Vec<u8>) -> Self
pub fn new(eval_runner: &StandardRunner, exe_eval_script: &Vec<u8>) -> Self
Examples found in repository?
examples/test_1plusto100.rs (line 23)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let settings = settings::Settings::new();
let compiler = compile::Compiler::new(&settings.compile_setting);
let runner = run::StandardRunner::new(&RunSetting{memory_limit_KB: 1024 * 1024, cpu_limit_ms: 10000, dir: settings.run_setting.dir.clone()});
let mut eval_script = vec![];
let mut test_out = vec![];
let mut input = vec![];
let mut output = vec![];
File::open("examples/programs/1plusto100/eval.cpp").unwrap().read_to_end(&mut eval_script).unwrap();
File::open("examples/programs/1plusto100/in").unwrap().read_to_end(&mut input).unwrap();
File::open("examples/programs/1plusto100/out").unwrap().read_to_end(&mut output).unwrap();
File::open("examples/programs/1plusto100/testout").unwrap().read_to_end(&mut test_out).unwrap();
println!("Compiling eval...");
let compile_eval = compiler.compile(&String::from("C++"), &eval_script);
println!("Finish");
if let CompileResult::OK(exe_eval) = compile_eval {
println!("Testing...");
let tester = test::AnwserTester::new(&runner, &exe_eval);
println!("Finish: {:?}", tester.single_test(&input, &test_out, &output));
}
}
sourcepub fn single_test(
&self,
input: &Vec<u8>,
test_out: &Vec<u8>,
output: &Vec<u8>
) -> TestResult
pub fn single_test( &self, input: &Vec<u8>, test_out: &Vec<u8>, output: &Vec<u8> ) -> TestResult
Examples found in repository?
examples/test_1plusto100.rs (line 24)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let settings = settings::Settings::new();
let compiler = compile::Compiler::new(&settings.compile_setting);
let runner = run::StandardRunner::new(&RunSetting{memory_limit_KB: 1024 * 1024, cpu_limit_ms: 10000, dir: settings.run_setting.dir.clone()});
let mut eval_script = vec![];
let mut test_out = vec![];
let mut input = vec![];
let mut output = vec![];
File::open("examples/programs/1plusto100/eval.cpp").unwrap().read_to_end(&mut eval_script).unwrap();
File::open("examples/programs/1plusto100/in").unwrap().read_to_end(&mut input).unwrap();
File::open("examples/programs/1plusto100/out").unwrap().read_to_end(&mut output).unwrap();
File::open("examples/programs/1plusto100/testout").unwrap().read_to_end(&mut test_out).unwrap();
println!("Compiling eval...");
let compile_eval = compiler.compile(&String::from("C++"), &eval_script);
println!("Finish");
if let CompileResult::OK(exe_eval) = compile_eval {
println!("Testing...");
let tester = test::AnwserTester::new(&runner, &exe_eval);
println!("Finish: {:?}", tester.single_test(&input, &test_out, &output));
}
}
Trait Implementations§
source§impl Clone for AnwserTester
impl Clone for AnwserTester
source§fn clone(&self) -> AnwserTester
fn clone(&self) -> AnwserTester
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for AnwserTester
impl Debug for AnwserTester
source§impl<'de> Deserialize<'de> for AnwserTester
impl<'de> Deserialize<'de> for AnwserTester
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl RefUnwindSafe for AnwserTester
impl Send for AnwserTester
impl Sync for AnwserTester
impl Unpin for AnwserTester
impl UnwindSafe for AnwserTester
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more