Exemplo n.º 1
0
        public void SumIfShouldCalculateWithExpressionFromSumRangeWithNumericCriteria()
        {
            var func   = new SumIf();
            var args   = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(3, 4, 5), 3, (FunctionsHelper.CreateArgs(4, 2, 1)));
            var result = func.Execute(args, _parsingContext);

            Assert.AreEqual(4d, result.Result);
        }
Exemplo n.º 2
0
        public void SumIfShouldCalculateWithExpression()
        {
            var func   = new SumIf();
            var args   = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(3, 4, 5), ">3");
            var result = func.Execute(args, _parsingContext);

            Assert.AreEqual(9d, result.Result);
        }
Exemplo n.º 3
0
        public void SumIfShouldCalculateMatchingValuesOnly()
        {
            var func   = new SumIf();
            var args   = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(3, 4, 5), "4");
            var result = func.Execute(args, _parsingContext);

            Assert.AreEqual(4d, result.Result);
        }
Exemplo n.º 4
0
        public void SumIfWithInvalidArgumentReturnsPoundValue()
        {
            var func           = new SumIf();
            var parsingContext = ParsingContext.Create();
            var args           = FunctionsHelper.CreateArgs();
            var result         = func.Execute(args, parsingContext);

            Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type);
        }
Exemplo n.º 5
0
        public void SumIfShouldThrowIfCriteriaIsLargerThan255chars()
        {
            var longString = "a";

            for (var x = 0; x < 256; x++)
            {
                longString = string.Concat(longString, "a");
            }
            var func   = new SumIf();
            var args   = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(3, 4, 5), longString, (FunctionsHelper.CreateArgs(3, 2, 1)));
            var result = func.Execute(args, _parsingContext);
        }
        public void SumIfNumericExpression()
        {
            _worksheet.Cells["A1"].Value = null;
            _worksheet.Cells["A2"].Value = 1d;
            _worksheet.Cells["A3"].Value = "Not Empty";
            var        func   = new SumIf();
            IRangeInfo range  = _provider.GetRange(_worksheet.Name, 1, 1, 3, 1);
            var        args   = FunctionsHelper.CreateArgs(range, 1d);
            var        result = func.Execute(args, _parsingContext);

            Assert.AreEqual(1d, result.Result);
        }
        public void SumIfEqualToEmptyString()
        {
            _worksheet.Cells["A1"].Value = null;
            _worksheet.Cells["A2"].Value = string.Empty;
            _worksheet.Cells["A3"].Value = "Not Empty";
            _worksheet.Cells["B1"].Value = 1d;
            _worksheet.Cells["B2"].Value = 3d;
            _worksheet.Cells["B3"].Value = 5d;
            var        func   = new SumIf();
            IRangeInfo range1 = _provider.GetRange(_worksheet.Name, 1, 1, 3, 1);
            IRangeInfo range2 = _provider.GetRange(_worksheet.Name, 1, 2, 3, 2);
            var        args   = FunctionsHelper.CreateArgs(range1, "", range2);
            var        result = func.Execute(args, _parsingContext);

            Assert.AreEqual(1d, result.Result);
        }
        public void SumIfNonNumeric()
        {
            _worksheet.Cells["A1"].Value = "Monday";
            _worksheet.Cells["A2"].Value = "Tuesday";
            _worksheet.Cells["A3"].Value = "Thursday";
            _worksheet.Cells["B1"].Value = 1d;
            _worksheet.Cells["B2"].Value = 3d;
            _worksheet.Cells["B3"].Value = 5d;
            var        func   = new SumIf();
            IRangeInfo range1 = _provider.GetRange(_worksheet.Name, 1, 1, 3, 1);
            IRangeInfo range2 = _provider.GetRange(_worksheet.Name, 1, 2, 3, 2);
            var        args   = FunctionsHelper.CreateArgs(range1, "T*day", range2);
            var        result = func.Execute(args, _parsingContext);

            Assert.AreEqual(8d, result.Result);
        }