public void Get_Scripts_Returns_All_Scripts_From_Single_Script_Directory() { var filePath = Path.Combine(directory, $"_{++testNumber}_TestFile1.sql"); File.WriteAllText(filePath, "A Test File 1"); var scriptDir = new ProcessStepDirectory(directory, "*.sql", false); var proj = new ConversionProject(); proj.StepDirectories.Add(scriptDir); var scripts = proj.GetSteps(); Assert.That(scripts, Has.Count.EqualTo(1)); Assert.That(scripts.FirstOrDefault(v => v.FilePath == filePath), Is.Not.Null); }
public void Get_Scripts_Serves_Only_Last_Script_If_Multiples_Exist_In_Different_Directories() { var duplicateName = "TestFile1"; var duplicateFileName = $"_{++testNumber}_{duplicateName}.sql"; var duplicateFileDirectoryA = Path.Combine(subDirectoryA, duplicateFileName); File.WriteAllText(duplicateFileDirectoryA, "Test File 1 - SubDirectoryA"); var duplicateFileDirectoryB = Path.Combine(subDirectoryB, duplicateFileName); File.WriteAllText(duplicateFileDirectoryB, "Test File 1 - SubDirectoryB"); var filePathB = Path.Combine(subDirectoryB, $"_{++testNumber}_TestFile2.sql"); File.WriteAllText(filePathB, "Test File 2 - SubDirectoryB"); var scriptDirA = new ProcessStepDirectory(subDirectoryA, "*.sql", false); var scriptDirB = new ProcessStepDirectory(subDirectoryB, "*.sql", false); Assert.That(scriptDirA.Steps.Count, Is.EqualTo(1), "ScriptDirA should have one file"); Assert.That(scriptDirB.Steps.Count, Is.EqualTo(2), "ScriptDirB should have two file"); var proj = new ConversionProject(); proj.StepDirectories.Add(scriptDirA); proj.StepDirectories.Add(scriptDirB); var scripts = proj.GetSteps(); Assert.That( scripts, Has.Count.EqualTo(2), "Only two files should be returned since two of the three are duplicates"); var scriptA = scripts.First(v => v.Name == duplicateName); Assert.That( scriptA.FilePath, Is.EqualTo(duplicateFileDirectoryB), "The duplicate file should be the copy found in the last script directory"); }
public void Get_Scripts_Returns_All_Scripts_From_Multiple_Script_Directory() { var filePathA = Path.Combine(subDirectoryA, $"_{++testNumber}_TestFile1.sql"); File.WriteAllText(filePathA, "Test File 1 - SubDirectoryA"); var filePathB = Path.Combine(subDirectoryB, $"_{++testNumber}_TestFile2.sql"); File.WriteAllText(filePathB, "Test File 2 - SubDirectoryB"); var scriptDirA = new ProcessStepDirectory(subDirectoryA, "*.sql", false); var scriptDirB = new ProcessStepDirectory(subDirectoryB, "*.sql", false); var proj = new ConversionProject(); proj.StepDirectories.Add(scriptDirA); proj.StepDirectories.Add(scriptDirB); var scripts = proj.GetSteps(); Assert.That(scripts, Has.Count.EqualTo(2)); Assert.That(scripts.FirstOrDefault(v => v.FilePath == filePathA), Is.Not.Null); Assert.That(scripts.FirstOrDefault(v => v.FilePath == filePathB), Is.Not.Null); }
static void FirstConsoleApp (string[] args) { // Eksperymenty (); bool fail = false; bool print = false; ConversionProject project = new ConversionProject (); // SetTestStyle (project); SetProject (project); for (int i = 0; i < args.Length; i++) { if (fail) break; if (args [i].StartsWith ("-")) { switch (args [i]) { case "-a": { i++; for (; i < args.Length; i++) { if (args [i].StartsWith ("-")) { i--; break; } try { project.OpenFile (args [i]); } catch (Exception ex) { Console.WriteLine (ex.Message); } } break; } case "-o": { i++; if (i < args.Length) { project.OutputFileName = args [i]; } break; } case "-s": { break; } case "-p": { print = true; break; } default: { Console.WriteLine ("Nieznane polecenie {0}", args [i]); fail = true; break; } } } else { Console.WriteLine ("Nieznane polecenie {0}", args [i]); break; } } if (project.OutputFileName != null) { try { project.ProceedBibTeXFiles (); project.ExecuteStyle(); project.GetHtml (); project.SaveHtml (); if(print) Console.WriteLine(project.HtmlFile.Text); } catch(Exception ex) { Console.WriteLine (ex.ToString()); } } else { Console.WriteLine ("Musisz podać nazwę pliku wyjśiowego"); } foreach (Exception ex in project.ExceptoptionsLog.Exceptions) { Console.WriteLine (ex.Message); } }
static void SetTestStyle(ConversionProject project) { FieldStyle test = new FieldStyle ("title"); test.Prefix = "W książce: \""; test.Suffix = "\""; test.Tags.Add (SupportedHtmlTags.b); project.BibTeXtoHTML_Style.HtmlExporterStyle.DefaultPositionStyle.FieldStyles.Add (test); project.BibTeXtoHTML_Style.HtmlExporterStyle.DefaultPositionStyle.Separator = ", "; project.BibTeXtoHTML_Style.HtmlExporterStyle.DefaultPositionStyle.ParagraphParameters = " style=\"display:inline-table;\""; project.BibTeXtoHTML_Style.HtmlExporterStyle.SetHtmlHead = true; project.BibTeXtoHTML_Style.HtmlExporterStyle.HtmlHead = "<head>\r\n" + "<meta charset=\"UTF-8\">\r\n" + "<script type=\"text/x-mathjax-config\">\r\n" + "MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});\r\n" + "</script>\r\n" + "<script type=\"text/javascript\" async\r\n" + "src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML\">" + "</script>" + "</head>"; project.BibTeXtoHTML_Style.BibTeXTranslator.ExecuteMath = BibTeXTranslator.MathExecutionType.NoIngeretion; project.BibTeXtoHTML_Style.BibTeXTranslator.RemoveBracesInMathMode = false; project.BibTeXtoHTML_Style.ForceChanges (); }
static void Eksperymenty () { Console.WriteLine ("Eksperymenty"); ConversionProject project = new ConversionProject (); project.OutputFileName = "result.html"; project.OpenFile ("wos-mariusz.bib"); project.ProceedBibTeXFiles (); project.GetHtml (); project.SaveHtml (); }
static void SetProject(ConversionProject project) { // AddTestFunctions_N (project.BibTeXtoHTML_Style.BibTeXTranslator); // AddTestFunctions_P (project.BibTeXtoHTML_Style.BibTeXTranslator); // AddTestFunctions_PP (project.BibTeXtoHTML_Style.BibTeXTranslator); // AddTestMathFunctions_P (project.BibTeXtoHTML_Style.BibTeXTranslator); // AddTestFunctions_OP(project.BibTeXtoHTML_Style.BibTeXTranslator); project.BibTeXtoHTML_Style = BibTeXtoHTML_Style.ReadFromFile("./test.xst"); project.BibTeXtoHTML_Style.ForceChanges (); }