Esempio n. 1
0
        ITabularBook OpenWorkbook(Stream stream, string filename, ITabularLibrary excel)
        {
            var workbook = excel.OpenBook(stream);

            workbook.Filename = filename;
            return(workbook);
        }
Esempio n. 2
0
 public ExcelTestOutputWriterBase(
     ITabularLibrary excel,
     ICodeNameToExcelNameConverter namer,
     string excelFolder)
 {
     this.excel       = excel ?? throw new ArgumentNullException(nameof(excel));
     this.namer       = namer ?? throw new ArgumentNullException(nameof(namer));
     this.excelFolder = excelFolder ?? throw new ArgumentNullException(nameof(excelFolder));
 }
 public ExcelTestOutputWriter(
     ITabularLibrary excel,
     ICodeNameToExcelNameConverter namer,
     string excelFolder)
     : base(
         excel,
         namer,
         excelFolder)
 {
 }
Esempio n. 4
0
 public ExcelUnRoundTrippableTestOutputWriter(
     ITabularLibrary excel,
     ICodeNameToExcelNameConverter namer,
     string excelFolder,
     IEnumerable <string> issuesPreventingRoundTrip)
     : base(
         excel,
         namer,
         excelFolder)
 {
     this.issuesPreventingRoundTrip = issuesPreventingRoundTrip;
 }
Esempio n. 5
0
        public ExcelTestOutputWriterBase(ITabularLibrary excel, ICodeNameToExcelNameConverter namer)
        {
            if (excel == null)
            {
                throw new ArgumentNullException(nameof(excel));
            }
            if (namer == null)
            {
                throw new ArgumentNullException(nameof(namer));
            }

            _excel = excel;
            _namer = namer;
        }
Esempio n. 6
0
 public FileSystemGenerateCSharpFromExcel(
     ILogger logger,
     string projectRootFolder,
     string projectRootNamespace,
     string excelTestsFolderName,
     IEnumerable <string> usings,
     IEnumerable <string> assembliesUnderTest,
     string assertionClassPrefix,
     ITabularLibrary excel)
 {
     this.logger               = logger;
     this.projectRootFolder    = projectRootFolder;
     this.projectRootNamespace = projectRootNamespace;
     this.excelTestsFolderName = excelTestsFolderName;
     this.usings               = usings;
     this.assembliesUnderTest  = assembliesUnderTest;
     this.assertionClassPrefix = assertionClassPrefix;
     this.excel = excel;
 }
Esempio n. 7
0
 private static void OutputWorkbook(
     string specificationFolder,
     string projectRootNamespace,
     IEnumerable <string> usings,
     string assertionClassPrefix,
     ITabularLibrary excel,
     XElement compileItemGroupNode,
     string excelFileName)
 {
     using (var workbookFile = GetExcelFileStream(excelFileName))
     {
         using (var workbook = excel.OpenBook(workbookFile))
         {
             var workBookName = Path.GetFileNameWithoutExtension(excelFileName);
             for (int i = 0; i < workbook.NumberOfPages; i++)
             {
                 if (IsTestSheet(workbook.GetPage(i)))
                 {
                     compileItemGroupNode.Add(MakeFileElement(compileItemGroupNode.Name.Namespace.NamespaceName, "Compile", OutputWorkSheet(specificationFolder, usings, assertionClassPrefix, workBookName, workbook.GetPage(i), projectRootNamespace)));
                 }
             }
         }
     }
 }
Esempio n. 8
0
        public static void Create(
            string specificationFolder,
            string specificationProject,
            string projectRootNamespace,
            IEnumerable <string> usings,
            string assertionClassPrefix,
            ITabularLibrary excel)
        {
            var projectFilePath = Path.Combine(specificationFolder, specificationProject);

            var project = OpenProjectFile(projectFilePath);
            var compileItemGroupNode = GetItemGroupForCompileNodes(project);
            var excelItemGroupNode   = GetItemGroupForExcelNodes(project);

            string excelFolder = Path.Combine(specificationFolder, "ExcelTests");

            foreach (var excelFileName in ListValidSpecificationSpreadsheets(excelFolder))
            {
                excelItemGroupNode.Add(MakeFileElement(project.Root.Name.Namespace.NamespaceName, "None", Path.Combine("ExcelTests", Path.GetFileName(excelFileName))));
                OutputWorkbook(specificationFolder, projectRootNamespace, usings, assertionClassPrefix, excel, compileItemGroupNode, excelFileName);
            }

            SaveProjectFile(projectFilePath, project);
        }