public async Task <object> CreateAnkiFileFromQuestionFiles(object directory) { bool result = true; string message = null; //try //{ // Trace.WriteLine($"CreateAnkiFileFromQuestionFiles() : directory \"{directory}\""); // string file = QuestionRun.CreateQuestionsManager((string)directory).CreateAnkiFileFromQuestionFiles(); // message = $"anki file created \"{file}\""; //} //catch (Exception ex) //{ // Trace.WriteLine($" error : {ex.Message}"); // Trace.WriteLine(ex.StackTrace); // result = false; // message = ex.Message; //} //return new { Result = result, Message = message }; //return new ResultMessage { Result = result, Message = message }; Try( () => { Trace.WriteLine($"CreateAnkiFileFromQuestionFiles() : directory \"{directory}\""); string file = QuestionRun.CreateQuestionsManager((string)directory).CreateAnkiFileFromQuestionFiles(); message = $"anki file created \"{zPath.GetFileName(file)}\""; }, ex => { result = false; message = ex.Message; }); return(new { Result = result, Message = message }); }
// Func<string, string, bool> testUnitReader, string extension private static void TestUnit_Reader(TestUnitOpe ope, IEnumerable <string> directories, string outputDirectory, bool traceUnknowValue, bool v2) { QuestionsManager questionsManager = QuestionRun.CreateQuestionsManager(v2: v2); questionsManager.TraceUnknowValue = traceUnknowValue; string baseDirectory = XmlConfig.CurrentConfig.GetExplicit("CardDirectory"); string extension = ope == TestUnitOpe.ReadQuestions ? ".questions.json" : ".responses.json"; int okCount = 0; int notOkCount = 0; int noOkCount = 0; int errorCount = 0; foreach (string directory in directories) { if (!directory.StartsWith(baseDirectory)) { throw new PBException($"wrong directory \"{directory}\""); } string directory2 = directory.Substring(baseDirectory.Length + 1); string file = zPath.Combine(outputDirectory, directory2 + extension); Trace.WriteLine($"create file \"{directory2 + extension}\""); if (ExecOpe(questionsManager, ope, directory, file, v2)) { string okFile = zPath.Combine(zPath.GetDirectoryName(file), "ok", zPath.GetFileName(file)); if (zFile.Exists(okFile)) { if (zfile.AreFileEqual(file, okFile)) { Trace.WriteLine(" ok"); okCount++; } else { Trace.WriteLine(" not ok"); notOkCount++; } } else { Trace.WriteLine(" ok file not found"); noOkCount++; } } else { errorCount++; } } Trace.WriteLine($"{okCount} ok {notOkCount} not ok {errorCount} error {noOkCount} ok not found"); }
public static void Test_QuestionReader_Comparev1v2(IEnumerable <string> directories, string outputDirectory) { string baseDirectory = XmlConfig.CurrentConfig.GetExplicit("CardDirectory"); QuestionReader_v2 questionReader_v2 = CreateQuestionReader_v2(); foreach (string directory in directories) { Trace.WriteLine($"compare QuestionReader for \"{directory}\""); string directory2 = zPath.Combine(baseDirectory, directory); string file1 = zPath.Combine(outputDirectory, "questions.json"); string file2 = zPath.Combine(outputDirectory, "questions_v2.json"); QuestionRun.CreateQuestionsManager(directory2).ReadQuestions().zSave(file1, jsonIndent: true); questionReader_v2.Read(QuestionsManager.GetScanFiles(zPath.Combine(directory2, @"data\scan")), baseDirectory) .Select(question => (Question_v2)question).zSave(file2, jsonIndent: true); if (!zfile.AreFileEqual(file1, file2)) { Trace.WriteLine(" files are differents"); break; } } }
public static IEnumerable <Question> Test_QuestionReader_v1(string directory) { return(QuestionRun.CreateQuestionsManager(directory).ReadQuestions()); }