public void MultipleFormulaCommandsEvaluatesOnPreviousResult() { FormulaCommand cmd = new FormulaCommand() { Formula = @"[column 4] - [column 1]" }; DataElement data = Helpers.CreateTestDataElementWithTwoNumericColumns(); cmd.UsedIndexes.Add(new Index("column 4")); cmd.UsedIndexes.Add(new Index("column 1")); cmd.ApplyToData(data); FormulaCommand cmd1 = new FormulaCommand() { Formula = @"[calc1] * -2" }; cmd1.UsedIndexes.Add(new Index("calc1")); cmd1.ApplyToData(data); Assert.AreEqual("Calc1", data.Columns[4].Header); Assert.AreEqual(1.5, data.Columns[4].Data[0]); Assert.AreEqual(-1.0, data.Columns[4].Data[1]); Assert.AreEqual("Calc2", data.Columns[5].Header); Assert.AreEqual(-3.0, data.Columns[5].Data[0]); Assert.AreEqual(2.0, data.Columns[5].Data[1]); }
public void FormulaCommandEvaluatesTheExpressionWithValue() { FormulaCommand cmd = new FormulaCommand() { Formula = @"[value] * 1000" }; DataElement data = Helpers.CreateSingleValueElement("test", 5); cmd.IsInPlaceFormula = true; cmd.ApplyToData(data); Assert.AreEqual(5000, data.Columns[0].Data[0]); }
public void FormulaCommandEvaluatesTheExpressionWithString() { FormulaCommand cmd = new FormulaCommand() { Formula = @"[Column 2] == 'client 1'" }; DataElement data = Helpers.CreateTestDataElementWithTwoNumericColumns(); cmd.UsedIndexes.Add(new Index("column 2")); cmd.ApplyToData(data); Assert.AreEqual("Calc1", data.Columns[4].Header); Assert.AreEqual(true, data.Columns[4].Data[0]); Assert.AreEqual(false, data.Columns[4].Data[1]); }
public void FormulaCommandEvaluatesTheExpression() { FormulaCommand cmd = new FormulaCommand() { Formula = @"[column 4] - [column 1]" }; DataElement data = Helpers.CreateTestDataElementWithTwoNumericColumns(); cmd.UsedIndexes.Add(new Index("column 4")); cmd.UsedIndexes.Add(new Index("column 1")); cmd.ApplyToData(data); Assert.AreEqual("Calc1", data.Columns[4].Header); Assert.AreEqual(1.5, data.Columns[4].Data[0]); Assert.AreEqual(-1.0, data.Columns[4].Data[1]); }