private static string GenerateTest(string generatorFileName, string inputTestFileName, string outputTestFileName, int timeLimit, int memoryLimit, Language language) { LanguageHandler currentLanguageHandler; switch (language) { case Language.CSharp: currentLanguageHandler = new CSharpHandler(); break; case Language.Cpp: currentLanguageHandler = new CppHandler(); break; default: currentLanguageHandler = new CSharpHandler(); break; } var parameters = new CheckParametersForGenerator(generatorFileName, inputTestFileName, outputTestFileName, timeLimit > 0 ? timeLimit : 0, memoryLimit > 0 ? memoryLimit : 0) { LanguageHandler = currentLanguageHandler }; return(ContestHandler.GenerateTestOutput(parameters)); }
public static string GenerateTestOutput(CheckParametersForGenerator parameters) { var output = ""; var tempErrors = ""; double usedTime = 0; double usedMemory = 0; var compilationAndExecutionResult = CompileAndExecute(parameters, ref output, ref tempErrors, ref usedTime, ref usedMemory); if (compilationAndExecutionResult == ResultMessage.CE || compilationAndExecutionResult == ResultMessage.EE) { return("Ошибки: " + tempErrors); } var sw = new StreamWriter(parameters.OutputTestFileName); sw.Write(output); sw.Close(); return(""); }