private IFormulaBuilder SetupGradeFormula(ICellRange achievedPoints, ICellRange maximumScore, ICellRange standardizationFactor, ICellRange minimumGrade) { IFormulaBuilder formulaBuilder = FormulaBuilderFactory.Create(); return(formulaBuilder .AddEqualsSign() .AddOpenParenthesis() .AddCellAddress(achievedPoints.Address) .AddDivisionSign() .AddConstantSign() .AddCellColumnLetter(maximumScore.Address.ColumnLetter) .AddConstantSign() .AddRowNumber(maximumScore.Address.RowNumber) .AddClosingParenthesis() .AddMultiplicationSign() .AddConstantSign() .AddCellColumnLetter(standardizationFactor.Address.ColumnLetter) .AddConstantSign() .AddRowNumber(standardizationFactor.Address.RowNumber) .AddSummationSign() .AddConstantSign() .AddCellColumnLetter(minimumGrade.Address.ColumnLetter) .AddConstantSign() .AddRowNumber(minimumGrade.Address.RowNumber)); }
public void Create_WithInstanceOfFactory_ReturnsInstanceOfForumulaBuilder() { // Arrange var factory = new FormulaBuilderFactory(); // Act IFormulaBuilder result = factory.Create(); // Assert result.Should().BeOfType <EPPlus.Formula.FormulaBuilder>(); }
public void AddSummationSign_WithoutPreviousActions_AddsSummationSignToFormula() { // Arrange var expectedFormula = "+"; // Act IFormulaBuilder result = _formulaBuilder.AddSummationSign(); // Assert var formula = result.Build(); formula.Should().Be(expectedFormula); }
public void AddCellAddress_WithAddress_AddsAddressToFormula() { // Arrange CellAddress expectedAddress = CellAddress.Create($"A{_fixture.Create<int>()}"); // Act IFormulaBuilder result = _formulaBuilder.AddCellAddress(expectedAddress); // Assert var formula = result.Build(); formula.Should().Be(expectedAddress.ToString()); }
public void AddClosingParenthesis_WithoutPreviousActions_AddsClosingParenthesisToFormula() { // Arrange var expectedFormula = ")"; // Act IFormulaBuilder result = _formulaBuilder.AddClosingParenthesis(); // Assert var formula = result.Build(); formula.Should().Be(expectedFormula); }
public override ISpreadsheetWriter PlaceCustomFormula(IFormulaBuilder formulaBuilder) { Spreadsheet[CurrentPosition.X, CurrentPosition.Y] = formulaBuilder.Build(); return(this); }
public override ISpreadsheetWriter PlaceCustomFormula(IFormulaBuilder formulaBuilder) { throw new System.NotImplementedException(); }