示例#1
0
        public void StdevaIsGivenTwoRangesOfIntsAsInputs()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1:B6, B7:B11)";
                worksheet.Calculate();
                Assert.AreEqual(26.30762074, (double)worksheet.Cells["A9"].Value, .00001);
            }
        }
示例#2
0
        public void StdevaIsGivenMaxAmountOfInputs254()
        {
            var function = new Stdeva();
            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(6.211812471, result1.ResultNumeric, .00001);
        }
示例#3
0
        public void StdevaIsGivenNumberInputFromCellRefrence()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B:B)";
                worksheet.Cells["A11"].Formula = "=Stdeva(B1,B3,B5,B6,B9)";
                worksheet.Cells["A12"].Formula = "=Stdeva(B1,B3,B5,B6)";
                worksheet.Calculate();

                Assert.AreEqual(26.97581221, (double)worksheet.Cells["A10"].Value, .00001);
                Assert.AreEqual(34.47462835, (double)worksheet.Cells["A11"].Value, .00001);
                Assert.AreEqual(25.77304794, (double)worksheet.Cells["A12"].Value, .00001);
            }
        }
示例#4
0
        public void StdevaIsGivenMonthDayYear12HourTimeAsInputs()
        {
            var function = new Stdeva();
            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(1349.204675, result1.ResultNumeric, .00001);
        }
示例#5
0
        public void StdevaIsGiven12HourTimesAsInputs()
        {
            var function = new Stdeva();
            var result1  = function.Execute(FunctionsHelper.CreateArgs("12:00 am", "02:00 am", "01:00 pm"), this.ParsingContext);

            Assert.AreEqual(0.291666667, result1.ResultNumeric, .00001);
        }
示例#6
0
        public void StdevaIsGivenDateTimeInputsSeperatedByADashAsInputs()
        {
            var function = new Stdeva();
            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(122.6879511, result1.ResultNumeric, .00001);
        }
示例#7
0
        public void StdevAIsGivenASingleFalseBooleanInput()
        {
            var function = new Stdeva();
            var result1  = function.Execute(FunctionsHelper.CreateArgs(false), this.ParsingContext);

            Assert.AreEqual(0, result1.ResultNumeric, .00001);;
        }
示例#8
0
        public void StdevaIsGivenASingleStringInput()
        {
            var function = new Stdeva();
            var result1  = function.Execute(FunctionsHelper.CreateArgs("string"), this.ParsingContext);

            Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result1.Result).Type);
        }
示例#9
0
        public void StdevaIsGivenNumbersAsInputstakeTwo()
        {
            var function = new Stdeva();
            var result1  = function.Execute(FunctionsHelper.CreateArgs(-1, -1, -1), this.ParsingContext);

            Assert.AreEqual(0d, result1.ResultNumeric, .00001);
        }
示例#10
0
        public void StdevaIsGivenTwoRangesOfIntsAsInputsWithATimeInTheMiddleOfTheFirstRangeTestTwo()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1:B6, B7:B11)";
                worksheet.Calculate();
                Assert.AreEqual(25.02980042, (double)worksheet.Cells["A9"].Value, .00001);
            }
        }
示例#11
0
        public void StdevaIsGivenAMixedStringInputWithAEmptyCellInTheMiddle()
        {
            var function = new Stdeva();
            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(20353.52823, result1.ResultNumeric, .00001);
            Assert.AreEqual(18205.19946, result2.ResultNumeric, .00001);
        }
示例#12
0
        public void StdevaIsGivenAStringInputWithAEmptyCellInTheMiddle()
        {
            var function = new Stdeva();
            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(26.97581221, result1.ResultNumeric, .00001);
            Assert.AreEqual(30.42020527, result2.ResultNumeric, .00001);
        }
示例#13
0
        public void StdevaIsGivenStringNumbersAsInputs()
        {
            var function = new Stdeva();
            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(1, result1.ResultNumeric, .00001);
            Assert.AreEqual(1.1, result2.ResultNumeric, .00001);
        }
示例#14
0
        public void StdevaIsGivenAMixOfInputTypes()
        {
            var function = new Stdeva();
            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(18206.31704, result1.ResultNumeric, .00001);
            Assert.AreEqual(20355.19445, result2.ResultNumeric, .00001);
        }
示例#15
0
        public void StdevaIsGivenBooleanInputs()
        {
            var function       = new Stdeva();
            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.577350269, result1.ResultNumeric, .00001);
            Assert.AreEqual(0d, result2.ResultNumeric, .00001);
            Assert.AreEqual(0.577350269, result3.ResultNumeric, .00001);
        }
示例#16
0
        public void StdevaIsGivenStringsAsInputsByCellRange()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
示例#17
0
        public void StdevaIsGivenDateTimeInputsSeperatedByADashAsInputsByCellRange()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
示例#18
0
        public void StdevaIsGivenMonthDayYear12HourTimeAsInputsByCellRange()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
示例#19
0
        public void StdevaIsGiven12HourTimesAsInputsByCellRefrence()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1,B2,B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
示例#20
0
        public void StdevaIsGivenMilitaryTimesAsInputsByCellRange()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }
示例#21
0
        public void StdevaIsGivenADateSeperatedByABackslash()
        {
            var function = new Stdeva();
            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(0d, result1.ResultNumeric, .00001);
            Assert.AreEqual(87.17989065, result2.ResultNumeric, .00001);
            Assert.AreEqual(365.500114, result3.ResultNumeric, .00001);
        }
示例#22
0
        public void StdevaTestingDirectInputVsRangeInputWithAGapInTheMiddle()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1,B3)";
                worksheet.Cells["B9"].Formula = "=Stdeva(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, worksheet.Cells["B8"].Value);
                Assert.AreEqual(0d, worksheet.Cells["B9"].Value);
            }
        }
示例#23
0
        public void StdevaTestingDirectINputVsRangeInputTest2()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1,B2)";
                worksheet.Cells["B9"].Formula = "=Stdeva(B1:B2)";
                worksheet.Calculate();
                Assert.AreEqual(0.707106781, (double)worksheet.Cells["B8"].Value, .00001);
                Assert.AreEqual(0.707106781, (double)worksheet.Cells["B9"].Value, .00001);
            }
        }
示例#24
0
        public void StdevaIsGivenAMixOfTwoTypesAndTwoRangesThatShouldHaveAnOutputTestTwo()
        {
            var function = new Stdeva();

            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 = "=stdeva(B1:B4)";
                worksheet.Calculate();
                Assert.AreEqual(4.760952286, (double)worksheet.Cells["B9"].Value, .0001);
            }
        }
示例#25
0
        public void StdevaIsGivenAMixOfInputTypesByCellRange()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1:B4)";

                worksheet.Calculate();

                Assert.AreEqual(7.348469228, (double)worksheet.Cells["B9"].Value, .00001);
            }
        }
示例#26
0
        public void StdevaIsGivenBooleanInputsFromCellRefrence()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1,B1,B2)";
                worksheet.Cells["B4"].Formula = "=Stdeva(B1,B1,B1)";
                worksheet.Cells["B5"].Formula = "=Stdeva(B1,B2,B2)";
                worksheet.Calculate();
                Assert.AreEqual(0.577350269, (double)worksheet.Cells["B3"].Value, .00001);
                Assert.AreEqual(0d, (double)worksheet.Cells["B4"].Value, .00001);
                Assert.AreEqual(0.577350269, (double)worksheet.Cells["B5"].Value, .00001);
            }
        }
示例#27
0
        public void StdevaIsGivenAMixOfInputTypesWithANullInTheCenterByCellRefrenceAndTwoRangeInputs()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1,B2)";
                worksheet.Cells["B9"].Formula = "=Stdeva(B1:B5,B1:B5)";
                worksheet.Calculate();
                Assert.AreEqual(9.899494937, (double)worksheet.Cells["B8"].Value, .00001);
                Assert.AreEqual(6.803360514, (double)worksheet.Cells["B9"].Value, .00001);
            }
        }
示例#28
0
        public void StdevaIsGivenADateSeperatedByABackslashInputFromCellRefrence()
        {
            var function = new Stdeva();

            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 = "=Stdeva(B1,B1,B1)";
                worksheet.Cells["B6"].Formula = "=Stdeva(B1,B2,B1)";
                worksheet.Cells["B7"].Formula = "=Stdeva(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);
            }
        }
示例#29
0
        public void StdevaIsGivenAMixOfTwoTypesAndTwoRangesThatShouldHaveAnOutput()
        {
            var function = new Stdeva();

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

                worksheet.Cells["A1"].Value   = 23;
                worksheet.Cells["A2"].Value   = 15;
                worksheet.Cells["A3"].Value   = "02:00 am";
                worksheet.Cells["B9"].Formula = "=Stdeva(B1:B4, A1:A3)";
                worksheet.Calculate();
                Assert.AreEqual(11.06689615, (double)worksheet.Cells["B9"].Value, .0001);
            }
        }
示例#30
0
        public void StdevaIsGivenStringNumbersAsInputsByCellRange()
        {
            var function = new Stdeva();

            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 = "=Stdeva(A1:A3)";
                worksheet.Cells["B4"].Formula = "=Stdeva(B1:B3)";
                worksheet.Calculate();
                Assert.AreEqual(0d, (worksheet.Cells["A4"].Value));
                Assert.AreEqual(0d, (worksheet.Cells["B4"].Value));
            }
        }