use serde::{Deserialize, Serialize};
#[derive(Default, Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct TestInfo {
#[serde(default)]
pub interpret_id: String,
#[serde(default)]
pub test_case: String,
#[serde(default)]
pub interpret_expected_id: String,
}
#[derive(Deserialize, Serialize, Default, Debug, Clone, Copy, PartialEq, Eq)]
pub struct SubmitInfo {
#[serde(default)]
pub submission_id: u32,
}
#[derive(Deserialize, Serialize)]
#[derive(Clone)]
#[derive(Debug)]
#[derive(Default)]
#[derive(PartialEq)]
pub struct RunResult {
#[serde(default)]
pub elapsed_time: u32,
#[serde(default)]
pub finished: bool,
#[serde(default)]
pub task_name: String,
#[serde(default)]
pub status_code: i64,
#[serde(default)]
pub status_msg: String,
#[serde(default)]
pub question_id: String,
#[serde(default)]
pub std_output: String,
#[serde(default)]
pub expected_output: String,
#[serde(default)]
pub last_testcase: String,
#[serde(default)]
pub code_answer: Vec<String>,
#[serde(default)]
pub compare_result: String,
#[serde(default)]
pub correct_answer: bool,
#[serde(default)]
pub expected_code_answer: Vec<String>,
#[serde(default)]
pub expected_code_output: Vec<String>,
#[serde(default)]
pub pretty_lang: String,
#[serde(default)]
pub lang: String,
#[serde(default)]
pub memory: u64,
#[serde(default)]
pub status_memory: String,
#[serde(default)]
pub memory_percentile: Option<f64>,
#[serde(default)]
pub status_runtime: String,
#[serde(default)]
pub runtime_percentile: Option<f64>,
#[serde(default)]
pub run_success: bool,
#[serde(default)]
pub state: String,
#[serde(default)]
pub std_output_list: Vec<String>,
#[serde(default)]
pub submission_id: String,
#[serde(default)]
pub task_finish_time: u64,
#[serde(default)]
pub total_correct: Option<u64>,
#[serde(default)]
pub total_testcases: Option<u64>,
#[serde(default)]
pub full_runtime_error: String,
#[serde(default)]
pub runtime_error: String,
#[serde(default)]
pub compile_error: String,
#[serde(default)]
pub full_compile_error: String,
}