public void ShouldReturnModuleCodeWhenBuild() { var sheetBuilder = new SheetBuilder(); var workbookBuilder = new WorkbookBuilder(sheetBuilder); var moduleBuilder = new AssemblyCodeBuilder(workbookBuilder); var cSharpModule = moduleBuilder.Build("UnitTest", workbook); Assert.NotNull(cSharpModule); }
public void ShouldReturnAssemblyWhenCompiled() { var sheetBuilder = new SheetBuilder(); var workbookBuilder = new WorkbookBuilder(sheetBuilder); var assemblyCodeBuilder = new AssemblyCodeBuilder(workbookBuilder); const string assemblyName = "UnitTest"; var assemblyCode = assemblyCodeBuilder.Build(assemblyName, workbook); var assemblyBytes = CSharpCodeCompiler.GetAssemblyBytes(assemblyName, assemblyCode).ToArray(); Assert.NotEmpty(assemblyBytes); var assembly = Assembly.Load(assemblyBytes); var compiledWorkbook = assembly.CreateInstance($"{assemblyName}.Workbook") as IWorkbook; Assert.NotNull(compiledWorkbook); var sheet = compiledWorkbook.GetSheet(SheetName); sheet.Evaluate(); var value = sheet.GetNumeric("A1"); Assert.Equal(84, value); }