|
1 | 1 | //! An implementation of LanguagePlugin for C#. |
2 | 2 |
|
3 | | -use crate::policy::CSharpStudentFilePolicy; |
4 | | -use crate::{cs_test_result::CSTestResult, CSharpError}; |
5 | | -use std::collections::{HashMap, HashSet}; |
6 | | -use std::env; |
7 | | -use std::ffi::{OsStr, OsString}; |
8 | | -use std::io::{BufReader, Cursor, Read, Seek}; |
9 | | -use std::path::{Path, PathBuf}; |
10 | | -use std::time::Duration; |
| 3 | +use crate::{cs_test_result::CSTestResult, policy::CSharpStudentFilePolicy, CSharpError}; |
| 4 | +use std::{ |
| 5 | + collections::{HashMap, HashSet}, |
| 6 | + env, |
| 7 | + ffi::{OsStr, OsString}, |
| 8 | + io::{BufReader, Cursor, Read, Seek}, |
| 9 | + path::{Path, PathBuf}, |
| 10 | + time::Duration, |
| 11 | +}; |
11 | 12 | use tmc_langs_framework::{ |
12 | 13 | nom::{bytes, character, combinator, error::VerboseError, sequence, IResult}, |
13 | 14 | CommandError, ExerciseDesc, Language, LanguagePlugin, RunResult, RunStatus, |
14 | 15 | StyleValidationResult, StyleValidationStrategy, TestDesc, TestResult, TmcCommand, TmcError, |
15 | 16 | }; |
16 | | -use tmc_langs_util::{file_util, parse_util, FileError}; |
| 17 | +use tmc_langs_util::{deserialize, file_util, parse_util, FileError}; |
17 | 18 | use walkdir::WalkDir; |
18 | 19 | use zip::ZipArchive; |
19 | 20 |
|
@@ -108,7 +109,7 @@ impl CSharpPlugin { |
108 | 109 | ) -> Result<(RunStatus, Vec<TestResult>), CSharpError> { |
109 | 110 | log::debug!("parsing C# test results"); |
110 | 111 | let test_results = file_util::open_file(test_results_path)?; |
111 | | - let test_results: Vec<CSTestResult> = serde_json::from_reader(test_results) |
| 112 | + let test_results: Vec<CSTestResult> = deserialize::json_from_reader(test_results) |
112 | 113 | .map_err(|e| CSharpError::ParseTestResults(test_results_path.to_path_buf(), e))?; |
113 | 114 |
|
114 | 115 | let mut status = RunStatus::Passed; |
@@ -194,7 +195,7 @@ impl LanguagePlugin for CSharpPlugin { |
194 | 195 | // parse result file |
195 | 196 | let exercise_desc_json = file_util::open_file(&exercise_desc_json_path)?; |
196 | 197 | let json: HashMap<String, Vec<String>> = |
197 | | - serde_json::from_reader(BufReader::new(exercise_desc_json)) |
| 198 | + deserialize::json_from_reader(BufReader::new(exercise_desc_json)) |
198 | 199 | .map_err(|e| CSharpError::ParseExerciseDesc(exercise_desc_json_path, e))?; |
199 | 200 |
|
200 | 201 | let mut tests = vec![]; |
|
0 commit comments