| using System; | 
 | using System.Text; | 
 | using System.Collections.Generic; | 
 | using System.Linq; | 
 | using Microsoft.VisualStudio.TestTools.UnitTesting; | 
 | using OfficeOpenXml.FormulaParsing; | 
 | using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; | 
 | using EPPlusTest.FormulaParsing.TestHelpers; | 
 | using OfficeOpenXml.FormulaParsing.Exceptions; | 
 | using OfficeOpenXml; | 
 |  | 
 | namespace EPPlusTest.Excel.Functions | 
 | { | 
 |     [TestClass] | 
 |     public class InformationFunctionsTests | 
 |     { | 
 |         private ParsingContext _context; | 
 |  | 
 |         [TestInitialize] | 
 |         public void Setup() | 
 |         { | 
 |             _context = ParsingContext.Create(); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsBlankShouldReturnTrueIfFirstArgIsNull() | 
 |         { | 
 |             var func = new IsBlank(); | 
 |             var args = FunctionsHelper.CreateArgs(new object[]{null}); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsBlankShouldReturnTrueIfFirstArgIsEmptyString() | 
 |         { | 
 |             var func = new IsBlank(); | 
 |             var args = FunctionsHelper.CreateArgs(string.Empty); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsNumberShouldReturnTrueWhenArgIsNumeric() | 
 |         { | 
 |             var func = new IsNumber(); | 
 |             var args = FunctionsHelper.CreateArgs(1d); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsNumberShouldReturnfalseWhenArgIsNonNumeric() | 
 |         { | 
 |             var func = new IsNumber(); | 
 |             var args = FunctionsHelper.CreateArgs("1"); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsFalse((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsErrorShouldReturnTrueIfArgIsAnErrorCode() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs(ExcelErrorValue.Parse("#DIV/0!")); | 
 |             var func = new IsError(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsErrorShouldReturnFalseIfArgIsNotAnError() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs("A", 1); | 
 |             var func = new IsError(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsFalse((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsTextShouldReturnTrueWhenFirstArgIsAString() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs("1"); | 
 |             var func = new IsText(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsTextShouldReturnFalseWhenFirstArgIsNotAString() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs(1); | 
 |             var func = new IsText(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsFalse((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsNonTextShouldReturnFalseWhenFirstArgIsAString() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs("1"); | 
 |             var func = new IsNonText(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsFalse((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsNonTextShouldReturnTrueWhenFirstArgIsNotAString() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs(1); | 
 |             var func = new IsNonText(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsOddShouldReturnCorrectResult() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs(3.123); | 
 |             var func = new IsOdd(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsEvenShouldReturnCorrectResult() | 
 |         { | 
 |             var args = FunctionsHelper.CreateArgs(4.123); | 
 |             var func = new IsEven(); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void IsLogicalShouldReturnCorrectResult() | 
 |         { | 
 |             var func = new IsLogical(); | 
 |  | 
 |             var args = FunctionsHelper.CreateArgs(1); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.IsFalse((bool)result.Result); | 
 |  | 
 |             args = FunctionsHelper.CreateArgs("true"); | 
 |             result = func.Execute(args, _context); | 
 |             Assert.IsFalse((bool)result.Result); | 
 |  | 
 |             args = FunctionsHelper.CreateArgs(false); | 
 |             result = func.Execute(args, _context); | 
 |             Assert.IsTrue((bool)result.Result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void NshouldReturnCorrectResult() | 
 |         { | 
 |             var func = new N(); | 
 |  | 
 |             var args = FunctionsHelper.CreateArgs(1.2); | 
 |             var result = func.Execute(args, _context); | 
 |             Assert.AreEqual(1.2, result.Result); | 
 |  | 
 |             args = FunctionsHelper.CreateArgs("abc"); | 
 |             result = func.Execute(args, _context); | 
 |             Assert.AreEqual(0d, result.Result); | 
 |  | 
 |             args = FunctionsHelper.CreateArgs(true); | 
 |             result = func.Execute(args, _context); | 
 |             Assert.AreEqual(1d, result.Result); | 
 |  | 
 |             var errorCode = ExcelErrorValue.Create(eErrorType.Value); | 
 |             args = FunctionsHelper.CreateArgs(errorCode); | 
 |             result = func.Execute(args, _context); | 
 |             Assert.AreEqual(errorCode, result.Result); | 
 |         } | 
 |     } | 
 | } |