private void MostrarInforme(UnidadDafny dfy, InformeDafny inf) { // Sería interesante poner milisegundos pero no tiene tanta fidelidad Console.Write(String.Format("{0,-30} ({1,2}s): ", dfy.Nombre.Length > 30 ? dfy.Nombre.Substring(0, 27) + "..." : dfy.Nombre, inf.Tiempo.TotalSeconds)); ConsoleColor color = ConsoleColor.White; if (inf.Resultado == InformeDafny.Result.EVERIFICACION) { color = ConsoleColor.Magenta; } else if (inf.Resultado != InformeDafny.Result.CORRECTO) { color = ConsoleColor.Red; } Console.ForegroundColor = color; Console.WriteLine(inf.Resultado.Desc()); Console.ResetColor(); }
private void Imprimir(UnidadDafny dfy) { // Busca información de ejecución en la caché InformeDafny informe = null; bool está = caché.Consulta(dfy.Uri, out informe); string desc = está ? informe.Resultado.Desc() : "no hay datos"; string color = está ? (informe.Resultado.EsError() ? "red" : "green") : "blue"; // Escribe el título del archivo tex.Write(String.Format(Título, EscaparLaTeX(dfy.Nombre), color, desc )); // Escribe un enlace para el pdf tex.Write(String.Format("\t\\pdfbookmark[{2}]{{{0}}}{{l{1}}}\n", EscaparLaTeX(dfy.Nombre), nord, Math.Min(nivel + 1, 3) )); // Añade el archivo en un entorno listing tex.Write(String.Format("\t\\lstinputlisting{{{0}}}\n", Path.GetFullPath(dfy.Uri))); // Imprime la salida de error en caso de error if (está && informe.Resultado.EsError()) { tex.Write(String.Format("\\medskip \\begin{{center}}Salida de Dafny ({0}s):\\end{{center}}", informe.Tiempo.TotalSeconds)); tex.Write(String.Format("{{\\footnotesize \\begin{{verbatim}}{0}\\end{{verbatim}}}}", informe.Salida)); } // Cada archivo en una página tex.Write(@"\eject"); nord++; }
private void Enumerar(UnidadDafny dfy, StreamWriter sw) { sw.WriteLine("<tr><td> " + "<a href=\"ver/" + dfy.Uri + "\">" + dfy.Nombre + "</a></td>"); InformeDafny informe = null; if (DCaché.Consulta(dfy.Uri, out informe)) { sw.WriteLine(@"<td style=""text-align: center;"">" + informe.Tiempo.TotalSeconds + "s</td>"); string color = "greenyellow"; if (informe.Resultado.EsError()) { color = "red"; } sw.WriteLine(@"<td style=""background-color: " + color + @";"">" + informe.Resultado.Desc() + "</td>"); } sw.WriteLine("</tr>"); }