public void FromCompileResultShouldCreateIntegerExpressionIfCompileResultIsInteger() { var compileResult = new CompileResult(1, DataType.Integer); var result = _converter.FromCompileResult(compileResult); Assert.IsInstanceOfType(result, typeof(IntegerExpression)); Assert.AreEqual(1d, result.Compile().Result); }
private IEnumerable <Expression> HandleGroupedExpressions() { if (!_expressions.Any()) { return(Enumerable.Empty <Expression>()); } var first = _expressions.First(); var groupedExpressions = _expressions.Where(x => x.IsGroupedExpression); foreach (var groupedExpression in groupedExpressions) { var result = groupedExpression.Compile(); if (result == CompileResult.Empty) { continue; } var newExp = _expressionConverter.FromCompileResult(result); newExp.Operator = groupedExpression.Operator; newExp.Prev = groupedExpression.Prev; newExp.Next = groupedExpression.Next; if (groupedExpression.Prev != null) { groupedExpression.Prev.Next = newExp; } if (groupedExpression == first) { first = newExp; } } return(RefreshList(first)); }