public FormulaParser(ExcelDataProvider excelDataProvider, ParsingContext parsingContext) { parsingContext.Parser = this; parsingContext.ExcelDataProvider = excelDataProvider; parsingContext.NameValueProvider = new NameValueProvider(excelDataProvider); parsingContext.RangeAddressFactory = new RangeAddressFactory(excelDataProvider); _parsingContext = parsingContext; _excelDataProvider = excelDataProvider; Configure(configuration => { configuration .SetLexer(new Lexer(_parsingContext.Configuration.FunctionRepository, _parsingContext.NameValueProvider)) .SetGraphBuilder(new ExpressionGraphBuilder(excelDataProvider, _parsingContext)) .SetExpresionCompiler(new ExpressionCompiler()) .SetIdProvider(new IntegerIdProvider()) .FunctionRepository.LoadModule(new BuiltInFunctions()); }); try { var sw = new Stopwatch(); sw.Start(); var chain = new CalculationChain.CalculationChainBuilder(_parsingContext).Build(); foreach (var cell in chain.Cells) { var result = ParseAt(cell.Address); try { _excelDataProvider.SetCellValue(cell.Address, result); } catch { } } sw.Stop(); } catch { } }
public void Setup() { _parsingContext = ParsingContext.Create(); _excelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); _parsingContext.ExcelDataProvider = _excelDataProvider; _builder = new CalculationChainBuilder(_parsingContext); }
public void Setup() { _idProvider = new IntegerIdProvider(); _provider = MockRepository.GenerateStub<ExcelDataProvider>(); SetupExcelProvider(); _idProvider = new IntegerIdProvider(); _chainContext = CalcChainContext.Create(_idProvider); _builder = new CalcChainContextBuilder(); _parsingContext = ParsingContext.Create(); _parsingContext.RangeAddressFactory = new RangeAddressFactory(_provider); _parsingContext.Configuration.SetIdProvider(_idProvider); _parsingContext.Configuration.SetLexer(new Lexer(_parsingContext.Configuration.FunctionRepository, _parsingContext.NameValueProvider)); _parsingContext.ExcelDataProvider = _provider; }
public FormulaParser(ExcelDataProvider excelDataProvider) : this(excelDataProvider, ParsingContext.Create()) { }
private void SetupTranslator(int maxRows, ExcelReferenceType refType) { _excelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); _excelDataProvider.Stub(x => x.ExcelMaxRows).Return(maxRows); _indexToAddressTranslator = new IndexToAddressTranslator(_excelDataProvider, refType); }
public NameValueProvider(ExcelDataProvider excelDataProvider) { _excelDataProvider = excelDataProvider; _values = _excelDataProvider.GetWorkbookNameValues(); }
public void Setup() { _excelDataProvider = MockRepository.GenerateMock<ExcelDataProvider>(); }
private ParsingContext GetContext(ExcelDataProvider provider) { var ctx = ParsingContext.Create(); ctx.ExcelDataProvider = provider; return ctx; }
public void Setup() { _excelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); _parser = new FormulaParser(_excelDataProvider); }
public void Setup() { _excelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); _excelDataProvider.Stub(x => x.ExcelMaxRows).Return(ExcelMaxRows); _addressTranslator = new AddressTranslator(_excelDataProvider); }