ExcelFormulaParser.Engine.Excel.Functions.Logical.Or.Execute C# (CSharp) Method

Execute() public method

public Execute ( IEnumerable arguments, ParsingContext context ) : CompileResult
arguments IEnumerable
context ParsingContext
return ExcelFormulaParser.Engine.ExpressionGraph.CompileResult
        public override CompileResult Execute(IEnumerable<FunctionArgument> arguments, ParsingContext context)
        {
            ValidateArguments(arguments, 1);
            for (var x = 0; x < arguments.Count(); x++)
            {
                if (ArgToBool(arguments, x))
                {
                    return new CompileResult(true, DataType.Boolean);
                }
            }
            return new CompileResult(false, DataType.Boolean);
        }

Usage Example

 public void OrShouldReturnTrueIfOneArgumentIsTrue()
 {
     var func = new Or();
     var args = FunctionsHelper.CreateArgs(true, false, false);
     var result = func.Execute(args, _parsingContext);
     Assert.IsTrue((bool)result.Result);
 }