Пример #1
0
        //[Test]
        //public void TestPercentile()
        //{
        //    testBasic();
        //    testUnusualArgs();
        //    testUnusualArgs2();
        //    testUnusualArgs3();
        //    testErrors();
        //    testErrors2();
        //}

        private static ValueEval invokePercentile(ValueEval[] args, ValueEval percentile)
        {
            AreaEval aeA = EvalFactory.CreateAreaEval("A1:A" + args.Length, args);

            ValueEval[] args2 = { aeA, percentile };
            return(AggregateFunction.PERCENTILE.Evaluate(args2, -1, -1));
        }
Пример #2
0
        public void TestGetValue_bug44950()
        {
            AreaPtg    ptg = new AreaPtg("B2:D3");
            NumberEval one = new NumberEval(1);

            ValueEval[] values =
            {
                one,
                new NumberEval(2),
                new NumberEval(3),
                new NumberEval(4),
                new NumberEval(5),
                new NumberEval(6),
            };
            AreaEval ae = EvalFactory.CreateAreaEval(ptg, values);

            if (one == ae.GetValueAt(1, 2))
            {
                throw new AssertFailedException("Identified bug 44950 a");
            }
            Confirm(1, ae, 1, 1);
            Confirm(2, ae, 1, 2);
            Confirm(3, ae, 1, 3);
            Confirm(4, ae, 2, 1);
            Confirm(5, ae, 2, 2);
            Confirm(6, ae, 2, 3);
        }
Пример #3
0
        public void Test1x1Area()
        {
            AreaEval ae0 = EvalFactory.CreateAreaEval("B2:B2", new ValueEval[] { new NumberEval(50), });
            AreaEval ae1 = EvalFactory.CreateAreaEval("C2:C2", new ValueEval[] { new NumberEval(10), });

            Confirm(ae0, ae1, 5);
        }
Пример #4
0
        public void TestGetValue_bug44950()
        {
            // TODO - this Test probably isn't Testing much anymore
            AreaPtg    ptg = new AreaPtg("B2:D3");
            NumberEval one = new NumberEval(1);

            ValueEval[] values =
            {
                one,
                new NumberEval(2),
                new NumberEval(3),
                new NumberEval(4),
                new NumberEval(5),
                new NumberEval(6),
            };
            AreaEval ae = EvalFactory.CreateAreaEval(ptg, values);

            if (one == ae.GetAbsoluteValue(1, 2))
            {
                throw new AssertionException("Identified bug 44950 a");
            }
            Confirm(1, ae, 1, 1);
            Confirm(2, ae, 1, 2);
            Confirm(3, ae, 1, 3);
            Confirm(4, ae, 2, 1);
            Confirm(5, ae, 2, 2);
            Confirm(6, ae, 2, 3);
        }
Пример #5
0
        public void TestMinWithNonNumeric()
        {
            ValueEval[] a2a7 = new ValueEval[]
            {
                new NumberEval(89),
                new NumberEval(93),
                new NumberEval(96),
                new NumberEval(85),
                new StringEval("Test"),
                new NumberEval(88)
            };

            ValueEval[] b2b7 = new ValueEval[]
            {
                new NumberEval(1),
                new NumberEval(2),
                new NumberEval(2),
                new NumberEval(3),
                new NumberEval(1),
                new NumberEval(1)
            };

            // "=MinIFS(A2:A7, B2:B7, "1")"
            ValueEval[] args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new NumberEval(1)
            };
            Confirm(88.0, args);

            // "=MinIFS(A2:A7, B2:B7, ">1")"
            args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval(">1")
            };
            Confirm(85.0, args);

            // "=MinIFS(A2:A7, B2:B7, ">1", B2:B7, "<3")"
            args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval(">1"),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval("<3")
            };
            Confirm(93.0, args);
        }
Пример #6
0
        public void TestExample1()
        {
            // mimic test sample from https://support.microsoft.com/en-us/office/minifs-function-6ca1ddaa-079b-4e74-80cc-72eef32e6599
            ValueEval[] a2a7 = new ValueEval[]
            {
                new NumberEval(89),
                new NumberEval(93),
                new NumberEval(96),
                new NumberEval(85),
                new NumberEval(91),
                new NumberEval(88)
            };

            ValueEval[] b2b7 = new ValueEval[]
            {
                new NumberEval(1),
                new NumberEval(2),
                new NumberEval(2),
                new NumberEval(3),
                new NumberEval(1),
                new NumberEval(1)
            };

            // "=MinIFS(A2:A9, B2:B9, "=A*", C2:C9, 1)"
            ValueEval[] args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new NumberEval(1)
            };
            Confirm(88.0, args);

            args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval(">1")
            };
            Confirm(85.0, args);

            args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval(">1"),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval("<3")
            };
            Confirm(93.0, args);
        }
Пример #7
0
        public void TestExample1()
        {
            // mimic test sample from https://support.microsoft.com/en-us/office/maxifs-function-dfd611e6-da2c-488a-919b-9b6376b28883
            ValueEval[] a2a7 = new ValueEval[]
            {
                new NumberEval(89),
                new NumberEval(93),
                new NumberEval(91),
                new NumberEval(96),
                new NumberEval(85),
                new NumberEval(88)
            };

            ValueEval[] b2b7 = new ValueEval[]
            {
                new NumberEval(1),
                new NumberEval(2),
                new NumberEval(2),
                new NumberEval(3),
                new NumberEval(1),
                new NumberEval(1)
            };

            // "=MAXIFS(A2:A7,B2:B7,1)"
            ValueEval[] args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new NumberEval(1)
            };
            Confirm(89.0, args);

            args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval(">1")
            };
            Confirm(96.0, args);

            args = new ValueEval[]
            {
                EvalFactory.CreateAreaEval("A2:A7", a2a7),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval(">1"),
                EvalFactory.CreateAreaEval("B2:B7", b2b7),
                new StringEval("<3")
            };
            Confirm(93.0, args);
        }
Пример #8
0
        public void Test1x1AreaOperand()
        {
            ValueEval[] values = { BoolEval.FALSE, };
            ValueEval[] args   =
            {
                EvalFactory.CreateAreaEval("B1:B1", values),
                BoolEval.FALSE,
            };
            ValueEval result = Evaluate(EvalInstances.Equal, args, 10, 10);

            if (result is ErrorEval)
            {
                if (result == ErrorEval.VALUE_INVALID)
                {
                    throw new AssertFailedException("Identified bug in Evaluation of 1x1 area");
                }
            }
            Assert.AreEqual(typeof(BoolEval), result.GetType());
            Assert.IsTrue(((BoolEval)result).BooleanValue);
        }
Пример #9
0
        public void TestColumnOperand()
        {
            short   firstRow = (short)8;
            short   lastRow  = (short)12;
            short   colNum   = (short)5;
            AreaPtg areaPtg  = new AreaPtg(firstRow, lastRow, colNum, colNum, false, false, false, false);

            ValueEval[] values =
            {
                new NumberEval(27),
                new NumberEval(29),
                new NumberEval(35),                     // value in row 10
                new NumberEval(37),
                new NumberEval(38),
            };
            ValueEval[] args =
            {
                EvalFactory.CreateAreaEval(areaPtg, values),
            };
            double result = NumericFunctionInvoker.Invoke(UnaryPlusEval.instance, args, 10, (short)20);

            Assert.AreEqual(35, result, 0);
        }
Пример #10
0
 protected FormFactory(EvalFactory <IFormType> evalFactory)
 {
     EvalFactory = evalFactory;
 }
Пример #11
0
        public void Test1x1Area()
        {
            AreaEval ae = EvalFactory.CreateAreaEval("B2:B2", new ValueEval[] { new NumberEval(50), });

            Confirm(ae, 0.5);
        }