internal static void Test() { const string outputFolderName = "MergeOps"; var outputFolder = StandardLibraryMethods.CombinePaths(TestStatics.OutputFolderPath, outputFolderName); IoMethods.DeleteFolder(outputFolder); Directory.CreateDirectory(outputFolder); var inputTestFiles = StandardLibraryMethods.CombinePaths(TestStatics.InputTestFilesFolderPath, outputFolderName); var wordDocx = StandardLibraryMethods.CombinePaths(inputTestFiles, "word.docx"); var pdf = StandardLibraryMethods.CombinePaths(inputTestFiles, "pdf.pdf"); MergeStatics.Init(); var singleTestRow = new PseudoTableRow(1).ToSingleElementArray(); var testRows = new[] { new PseudoTableRow(1), new PseudoTableRow(2), new PseudoTableRow(3) }; var singleRowTree = MergeStatics.CreatePseudoTableRowTree(singleTestRow); var pseudoTableRowTree = MergeStatics.CreatePseudoTableRowTree(testRows); var explanations = new List <Tuple <String, String> >(); // Single row to merge against // Word files const string singleRowWordDoc = "SingleRowMsWordDoc" + FileExtensions.WordDocx; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, singleRowWordDoc))) { using (var word = File.OpenRead(wordDocx)) CreateMsWordDoc(singleRowTree, false, word, outputFile); explanations.Add(Tuple.Create(singleRowWordDoc, "Should be {0} with only one page, and FullName merged in the upper left.".FormatWith(wordDocx))); } const string singleRowWordDocAsPdf = "SingleRowMsWordDoc" + FileExtensions.Pdf; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, singleRowWordDocAsPdf))) CreatePdfFromMsWordDoc(singleRowTree, false, wordDocx, outputFile); explanations.Add( Tuple.Create(singleRowWordDocAsPdf, "Should be {0} with only one page, FullName merged in the upper left, saved as a PDF.".FormatWith(wordDocx))); //Excel const string singleRowExcel = "SingleRowExcel" + FileExtensions.ExcelXlsx; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, singleRowExcel))) CreateExcelWorkbook(singleRowTree, GetExcelSupportedMergeFields(singleRowTree), outputFile); explanations.Add( Tuple.Create( singleRowExcel, "An Excel file with the first row frozen and bold with the merge field names. Note that only supported field types may be dispalyed. One more row with data should be present.")); // Pdf const string singleRowPdf = "SingleRowPdf" + FileExtensions.Pdf; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, singleRowPdf))) CreatePdf(singleRowTree, false, pdf, outputFile); explanations.Add(Tuple.Create(singleRowPdf, "Should be {0} with only one page, FullName filled in and 'Test' displayed.".FormatWith(pdf))); // Multiple rows to merge against // Word files const string multipleRowsWordDoc = "MultipleRowMsWordDoc" + FileExtensions.WordDocx; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, multipleRowsWordDoc))) { using (var word = File.OpenRead(wordDocx)) CreateMsWordDoc(pseudoTableRowTree, false, word, outputFile); explanations.Add(Tuple.Create(multipleRowsWordDoc, "Should be {0} with three pages, and FullName merged in the upper left.".FormatWith(wordDocx))); } const string multipleRowsWordDocAsPdf = "MultipleRowMsWordDoc" + FileExtensions.Pdf; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, multipleRowsWordDocAsPdf))) CreatePdfFromMsWordDoc(pseudoTableRowTree, false, wordDocx, outputFile); explanations.Add( Tuple.Create(multipleRowsWordDocAsPdf, "Should be {0} with three pages, FullName merged in the upper left, saved as a PDF.".FormatWith(wordDocx))); // Excel const string multipleRowExcel = "MultipleRowExcel" + FileExtensions.ExcelXlsx; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, multipleRowExcel))) CreateExcelWorkbook(pseudoTableRowTree, GetExcelSupportedMergeFields(pseudoTableRowTree), outputFile); explanations.Add( Tuple.Create( multipleRowExcel, "An Excel file with the first row frozen and bold with the merge field names. Note that only supported field types may be dispalyed. Three more row with data should be present.")); // Pdf const string multipleRowPdf = "MultipleRowPdf" + FileExtensions.Pdf; using (var outputFile = File.OpenWrite(StandardLibraryMethods.CombinePaths(outputFolder, multipleRowPdf))) CreatePdf(pseudoTableRowTree, false, pdf, outputFile); explanations.Add(Tuple.Create(multipleRowPdf, "Should be {0} with three pages, FullName filled in and 'Test' displayed.".FormatWith(pdf))); TestStatics.OutputReadme(outputFolder, explanations); }
void SystemInitializer.InitStatics() { GlobalStatics.Init(); MergeStatics.Init(); }