Ejemplo n.º 1
0
        public void VarpaIsGivenASingleStringInput()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs("string"), this.ParsingContext);

            Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result1.Result).Type);
        }
Ejemplo n.º 2
0
        public void VarpaIsGivenTwoRangesOfIntsAsInputs()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value = 1;
                worksheet.Cells["B2"].Value = 2;
                worksheet.Cells["B3"].Value = 34;
                worksheet.Cells["B4"].Value = 56;
                worksheet.Cells["B5"].Value = 32;
                worksheet.Cells["B6"].Value = 76;

                worksheet.Cells["B7"].Value  = 2;
                worksheet.Cells["B8"].Value  = 3;
                worksheet.Cells["B9"].Value  = 5;
                worksheet.Cells["B10"].Value = 7;
                worksheet.Cells["B11"].Value = 45;


                worksheet.Cells["A9"].Formula = "=Varpa(B1:B6, B7:B11)";
                worksheet.Calculate();
                Assert.AreEqual(629.1735537, (double)worksheet.Cells["A9"].Value, .00001);
            }
        }
Ejemplo n.º 3
0
        public void VarpaIsGivenMaxAmountOfInputs254()
        {
            var function = new Varpa();
            var input1   = 1;

            var result1 = function.Execute(FunctionsHelper.CreateArgs(
                                               100, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1,
                                               input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1, input1
                                               ), this.ParsingContext);


            Assert.AreEqual(38.43469837, result1.ResultNumeric, .00001);
        }
Ejemplo n.º 4
0
        public void VarpaIsGiven12HourTimesAsInputs()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs("12:00 am", "02:00 am", "01:00 pm"), this.ParsingContext);

            Assert.AreEqual(0.056712963, result1.ResultNumeric, .00001);
        }
Ejemplo n.º 5
0
        public void VarpaIsGivenNumberInputFromCellRefrence()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value    = 66;
                worksheet.Cells["B2"].Value    = 52;
                worksheet.Cells["B3"].Value    = 77;
                worksheet.Cells["B4"].Value    = 71;
                worksheet.Cells["B5"].Value    = 30;
                worksheet.Cells["B6"].Value    = 90;
                worksheet.Cells["B7"].Value    = 26;
                worksheet.Cells["B8"].Value    = 56;
                worksheet.Cells["B9"].Value    = 7;
                worksheet.Cells["A10"].Formula = "=Varpa(B:B)";
                worksheet.Cells["A11"].Formula = "=Varpa(B1,B3,B5,B6,B9)";
                worksheet.Cells["A12"].Formula = "=Varpa(B1,B3,B5,B6)";
                worksheet.Calculate();

                Assert.AreEqual(646.8395062, (double)worksheet.Cells["A10"].Value, .00001);
                Assert.AreEqual(950.8, (double)worksheet.Cells["A11"].Value, .00001);
                Assert.AreEqual(498.1875, (double)worksheet.Cells["A12"].Value, .00001);
            }
        }
Ejemplo n.º 6
0
        public void VarpaIsGivenMonthDayYear12HourTimeAsInputs()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs("Jan 17, 2011 2:00 am", "June 5, 2017 11:00 pm", "June 15, 2017 11:00 pm"), this.ParsingContext);

            Assert.AreEqual(1213568.837, result1.ResultNumeric, .001);
        }
Ejemplo n.º 7
0
        public void VarpaIsGivenDateTimeInputsSeperatedByADashAsInputs()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs("1-17-2017 2:00", "6-17-2017 2:00", "9-17-2017 2:00"), this.ParsingContext);

            Assert.AreEqual(10034.88889, result1.ResultNumeric, .00001);
        }
Ejemplo n.º 8
0
        public void VarpaIsGivenASingleFalseBooleanInput()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs(false), this.ParsingContext);

            Assert.AreEqual(0, result1.ResultNumeric, .00001);;
        }
Ejemplo n.º 9
0
        public void VarpaIsGivenTwoRangesOfIntsAsInputsWithATimeInTheMiddleOfTheFirstRangeTestTwo()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value = 1;
                worksheet.Cells["B2"].Value = 2;
                worksheet.Cells["B3"].Value = 34;
                worksheet.Cells["B4"].Value = "12:00";
                worksheet.Cells["B5"].Value = "6/17/2011 2:00";
                worksheet.Cells["B6"].Value = 76;

                worksheet.Cells["B7"].Value  = 2;
                worksheet.Cells["B8"].Value  = 3;
                worksheet.Cells["B9"].Value  = 5;
                worksheet.Cells["B10"].Value = 7;
                worksheet.Cells["B11"].Value = 45;


                worksheet.Cells["A9"].Formula = "=Varpa(B1:B6, B7:B11)";
                worksheet.Calculate();
                Assert.AreEqual(569.5371901, (double)worksheet.Cells["A9"].Value, .00001);
            }
        }
Ejemplo n.º 10
0
        public void VarpaIsGivenNumbersAsInputstakeTwo()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs(-1, -1, -1), this.ParsingContext);

            Assert.AreEqual(0, result1.ResultNumeric, .00001);
        }
Ejemplo n.º 11
0
        public void VarpaIsGivenAMixedStringInputWithAEmptyCellInTheMiddle()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs(10, 2, "6/17/2011 2:00", "02:00 am"), this.ParsingContext);
            var result2  = function.Execute(FunctionsHelper.CreateArgs(10, 2, "6/17/2011 2:00", null, "02:00 am"), this.ParsingContext);

            Assert.AreEqual(310699583.6, result1.ResultNumeric, .1);
            Assert.AreEqual(265143429.9, result2.ResultNumeric, .1);
        }
Ejemplo n.º 12
0
        public void VarpaIsGivenAStringInputWithAEmptyCellInTheMiddle()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs(66, 52, 77, 71, 30, 90, 26, 56, 7), this.ParsingContext);
            var result2  = function.Execute(FunctionsHelper.CreateArgs(66, 52, 77, 71, null, 30, 90, 26, 56, 7), this.ParsingContext);

            Assert.AreEqual(646.8395062, result1.ResultNumeric, .00001);
            Assert.AreEqual(832.85, result2.ResultNumeric, .00001);
        }
Ejemplo n.º 13
0
        public void VarpaIsGivenStringNumbersAsInputs()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs("5", "6", "7"), this.ParsingContext);
            var result2  = function.Execute(FunctionsHelper.CreateArgs("5.5", "6.6", "7.7"), this.ParsingContext);

            Assert.AreEqual(0.666666667, result1.ResultNumeric, .00001);
            Assert.AreEqual(0.806666667, result2.ResultNumeric, .00001);
        }
Ejemplo n.º 14
0
        public void VarpaIsGivenAMixOfInputTypes()
        {
            var function = new Varpa();
            var result1  = function.Execute(FunctionsHelper.CreateArgs(1, true, null, "6/17/2011 2:00", "02:00 am"), this.ParsingContext);
            var result2  = function.Execute(FunctionsHelper.CreateArgs(1, true, "6/17/2011 2:00", "02:00 am"), this.ParsingContext);

            Assert.AreEqual(265175984, result1.ResultNumeric, .1);
            Assert.AreEqual(310750455.8, result2.ResultNumeric, .1);
        }
Ejemplo n.º 15
0
        public void VarpaIsGivenBooleanInputs()
        {
            var function       = new Varpa();
            var boolInputTrue  = true;
            var boolInputFalse = false;
            var result1        = function.Execute(FunctionsHelper.CreateArgs(boolInputTrue, boolInputTrue, boolInputFalse), this.ParsingContext);
            var result2        = function.Execute(FunctionsHelper.CreateArgs(boolInputTrue, boolInputTrue, boolInputTrue), this.ParsingContext);
            var result3        = function.Execute(FunctionsHelper.CreateArgs(boolInputTrue, boolInputFalse, boolInputFalse), this.ParsingContext);

            Assert.AreEqual(0.222222222, result1.ResultNumeric, .00001);
            Assert.AreEqual(0, result2.ResultNumeric, .00001);
            Assert.AreEqual(0.222222222, result3.ResultNumeric, .00001);
        }
Ejemplo n.º 16
0
        public void VarpaIsGivenStringsAsInputsByCellRange()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = "string";
                worksheet.Cells["B2"].Value   = "another string";
                worksheet.Cells["B3"].Value   = "a third string";
                worksheet.Cells["B4"].Formula = "=Varpa(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
Ejemplo n.º 17
0
        public void VarpaIsGivenDateTimeInputsSeperatedByADashAsInputsByCellRange()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = "1-17-2017 2:00";
                worksheet.Cells["B2"].Value   = "6-17-2017 2:00";
                worksheet.Cells["B3"].Value   = "9-17-2017 2:00";
                worksheet.Cells["B4"].Formula = "=Varpa(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
Ejemplo n.º 18
0
        public void VarpaIsGivenMonthDayYear12HourTimeAsInputsByCellRange()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = "Jan 17, 2011 2:00 am";
                worksheet.Cells["B2"].Value   = "June 5, 2017 11:00 pm";
                worksheet.Cells["B3"].Value   = "June 15, 2017 11:00 pm";
                worksheet.Cells["B4"].Formula = "=Varpa(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
Ejemplo n.º 19
0
        public void VarpaIsGiven12HourTimesAsInputsByCellRefrence()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = "12:00 am";
                worksheet.Cells["B2"].Value   = "02:00 am";
                worksheet.Cells["B3"].Value   = "01:00 pm";
                worksheet.Cells["B4"].Formula = "=Varpa(B1,B2,B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
Ejemplo n.º 20
0
        public void VarpaIsGivenMilitaryTimesAsInputsByCellRange()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = "00:00";
                worksheet.Cells["B2"].Value   = "02:00";
                worksheet.Cells["B3"].Value   = "13:00";
                worksheet.Cells["B4"].Formula = "=Varpa(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
Ejemplo n.º 21
0
        public void VarpaIsGivenADateSeperatedByABackslash()
        {
            var function = new Varpa();
            var input1   = "1/17/2011 2:00";
            var input2   = "6/17/2011 2:00";
            var input3   = "1/17/2012 2:00";
            var input4   = "1/17/2013 2:00";
            var result1  = function.Execute(FunctionsHelper.CreateArgs(input1, input1, input1), this.ParsingContext);
            var result2  = function.Execute(FunctionsHelper.CreateArgs(input1, input2, input1), this.ParsingContext);
            var result3  = function.Execute(FunctionsHelper.CreateArgs(input1, input3, input4), this.ParsingContext);

            Assert.AreEqual(0, result1.ResultNumeric, .00001);
            Assert.AreEqual(5066.888889, result2.ResultNumeric, .00001);
            Assert.AreEqual(89060.22222, result3.ResultNumeric, .00001);
        }
Ejemplo n.º 22
0
        public void VarpaTestingDirectInputVsRangeInputWithAGapInTheMiddle()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = 1;
                worksheet.Cells["B3"].Value   = 1;
                worksheet.Cells["B8"].Formula = "=Varpa(B1,B3)";
                worksheet.Cells["B9"].Formula = "=Varpa(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, worksheet.Cells["B8"].Value);
                Assert.AreEqual(0d, worksheet.Cells["B9"].Value);
            }
        }
Ejemplo n.º 23
0
        public void VarpaTestingDirectINputVsRangeInputTest2()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = 1;
                worksheet.Cells["B2"].Value   = 0;
                worksheet.Cells["B8"].Formula = "=Varpa(B1,B2)";
                worksheet.Cells["B9"].Formula = "=Varpa(B1:B2)";
                worksheet.Calculate();
                Assert.AreEqual(0.25, (double)worksheet.Cells["B8"].Value, .00001);
                Assert.AreEqual(0.25, (double)worksheet.Cells["B9"].Value, .00001);
            }
        }
Ejemplo n.º 24
0
        public void VarpaIsGivenAMixOfTwoTypesAndTwoRangesThatShouldHaveAnOutputTestTwo()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = 10;
                worksheet.Cells["B2"].Value   = 2;
                worksheet.Cells["B3"].Value   = "6/17/2011 2:00";
                worksheet.Cells["B4"].Value   = "02:00 am";
                worksheet.Cells["B9"].Formula = "=Varpa(B1:B4)";
                worksheet.Calculate();
                Assert.AreEqual(17, (double)worksheet.Cells["B9"].Value, .0001);
            }
        }
Ejemplo n.º 25
0
        public void VarpaIsGivenAMixOfInputTypesByCellRange()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = 15;
                worksheet.Cells["B2"].Value   = 1;
                worksheet.Cells["B3"].Value   = "6/17/2011 2:00";
                worksheet.Cells["B4"].Value   = "02:00 am";
                worksheet.Cells["B9"].Formula = "=Varpa(B1:B4)";
                worksheet.Calculate();

                Assert.AreEqual(40.5, (double)worksheet.Cells["B9"].Value, .00001);
            }
        }
Ejemplo n.º 26
0
        public void VarpaIsGivenBooleanInputsFromCellRefrence()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = true;
                worksheet.Cells["B2"].Value   = false;
                worksheet.Cells["B3"].Formula = "=Varpa(B1,B1,B2)";
                worksheet.Cells["B4"].Formula = "=Varpa(B1,B1,B1)";
                worksheet.Cells["B5"].Formula = "=Varpa(B1,B2,B2)";
                worksheet.Calculate();
                Assert.AreEqual(0.222222222, (double)worksheet.Cells["B3"].Value, .00001);
                Assert.AreEqual(0d, (double)worksheet.Cells["B4"].Value, .00001);
                Assert.AreEqual(0.222222222, (double)worksheet.Cells["B5"].Value, .00001);
            }
        }
Ejemplo n.º 27
0
        public void VarpaIsGivenAMixOfInputTypesWithANullInTheCenterByCellRefrenceAndTwoRangeInputs()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value = 15;
                worksheet.Cells["B2"].Value = 1;
                //empty B3 cell
                worksheet.Cells["B4"].Value   = "6/17/2011 2:00";
                worksheet.Cells["B5"].Value   = "02:00 am";
                worksheet.Cells["B8"].Formula = "=Varpa(B1,B2)";
                worksheet.Cells["B9"].Formula = "=Varpa(B1:B5,B1:B5)";
                worksheet.Calculate();
                Assert.AreEqual(49, (double)worksheet.Cells["B8"].Value, .00001);
                Assert.AreEqual(40.5, (double)worksheet.Cells["B9"].Value, .00001);
            }
        }
Ejemplo n.º 28
0
        public void VarpaIsGivenADateSeperatedByABackslashInputFromCellRefrence()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B1"].Value   = "1/17/2011 2:00";
                worksheet.Cells["B2"].Value   = "6/17/2011 2:00";
                worksheet.Cells["B3"].Value   = "1/17/2012 2:00";
                worksheet.Cells["B4"].Value   = "1/17/2013 2:00";
                worksheet.Cells["B5"].Formula = "=Varpa(B1,B1,B1)";
                worksheet.Cells["B6"].Formula = "=Varpa(B1,B2,B1)";
                worksheet.Cells["B7"].Formula = "=Varpa(B1,B3,B4)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (double)worksheet.Cells["B5"].Value, .00001);
                Assert.AreEqual(0d, (double)worksheet.Cells["B6"].Value, .00001);
                Assert.AreEqual(0d, (double)worksheet.Cells["B7"].Value, .00001);
            }
        }
Ejemplo n.º 29
0
        public void VarpaIsGivenStringNumbersAsInputsByCellRange()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["A1"].Value   = "5";
                worksheet.Cells["A2"].Value   = "6";
                worksheet.Cells["A3"].Value   = "7";
                worksheet.Cells["B1"].Value   = "5.5";
                worksheet.Cells["B2"].Value   = "6.6";
                worksheet.Cells["B3"].Value   = "7.7";
                worksheet.Cells["A4"].Formula = "=Varpa(A1:A3)";
                worksheet.Cells["B4"].Formula = "=Varpa(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
Ejemplo n.º 30
0
        public void VarpaIsGivenNumberInputFromCellRefrenceWithEmptyCellsFirstAndAnInvalidCellInTheMiddle()
        {
            var function = new Varpa();

            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells["B3"].Value = 66;
                worksheet.Cells["B4"].Value = 52;
                worksheet.Cells["B5"].Value = 77;
                worksheet.Cells["B6"].Value = 71;
                //B7 is an empty cell
                worksheet.Cells["B8"].Value    = 90;
                worksheet.Cells["B9"].Value    = 26;
                worksheet.Cells["B10"].Value   = 56;
                worksheet.Cells["B11"].Value   = 7;
                worksheet.Cells["A12"].Formula = "=Varpa(B1:B11)";
                worksheet.Calculate();
                Assert.AreEqual(654.734375, (double)worksheet.Cells["A12"].Value, .00001);
            }
        }