|  | using System; | 
|  | using System.Text; | 
|  | using System.Collections.Generic; | 
|  | using System.Linq; | 
|  | using Microsoft.VisualStudio.TestTools.UnitTesting; | 
|  | using OfficeOpenXml.FormulaParsing.ExpressionGraph; | 
|  | using OfficeOpenXml.FormulaParsing.Excel.Operators; | 
|  |  | 
|  | namespace EPPlusTest.FormulaParsing.ExpressionGraph | 
|  | { | 
|  | [TestClass] | 
|  | public class IntegerExpressionTests | 
|  | { | 
|  | [TestMethod] | 
|  | public void MergeWithNextWithPlusOperatorShouldCalulateSumCorrectly() | 
|  | { | 
|  | var exp1 = new IntegerExpression("1"); | 
|  | exp1.Operator = Operator.Plus; | 
|  | var exp2 = new IntegerExpression("2"); | 
|  | exp1.Next = exp2; | 
|  |  | 
|  | var result = exp1.MergeWithNext(); | 
|  |  | 
|  | Assert.AreEqual(3d, result.Compile().Result); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void MergeWithNextWithPlusOperatorShouldSetNextPointer() | 
|  | { | 
|  | var exp1 = new IntegerExpression("1"); | 
|  | exp1.Operator = Operator.Plus; | 
|  | var exp2 = new IntegerExpression("2"); | 
|  | exp1.Next = exp2; | 
|  |  | 
|  | var result = exp1.MergeWithNext(); | 
|  |  | 
|  | Assert.IsNull(result.Next); | 
|  | } | 
|  |  | 
|  | //[TestMethod] | 
|  | //public void CompileShouldHandlePercent() | 
|  | //{ | 
|  | //    var exp1 = new IntegerExpression("1"); | 
|  | //    exp1.Operator = Operator.Percent; | 
|  | //    exp1.Next = ConstantExpressions.Percent; | 
|  | //    var result = exp1.Compile(); | 
|  | //    Assert.AreEqual(0.01, result.Result); | 
|  | //    Assert.AreEqual(DataType.Decimal, result.DataType); | 
|  | //} | 
|  | } | 
|  | } |