예제 #1
0
        public void CeilingWithBooleanFirstInputsReturnsCorrectValue()
        {
            var function     = new Ceiling();
            var booleanTrue  = function.Execute(FunctionsHelper.CreateArgs(true, 3), this.ParsingContext);
            var booleanFalse = function.Execute(FunctionsHelper.CreateArgs(false, 2), this.ParsingContext);

            Assert.AreEqual(3d, booleanTrue.Result);
            Assert.AreEqual(0d, booleanFalse.Result);
        }
예제 #2
0
        public void CeilingWithBooleanSecondInputReturnsCorrectValue()
        {
            var function     = new Ceiling();
            var booleanTrue  = function.Execute(FunctionsHelper.CreateArgs(56.672, true), this.ParsingContext);
            var booleanFalse = function.Execute(FunctionsHelper.CreateArgs(45.6, false), this.ParsingContext);

            Assert.AreEqual(57d, booleanTrue.Result);
            Assert.AreEqual(0d, booleanFalse.Result);
        }
예제 #3
0
        public void CeilingWithPositiveFirstInputAndNegativeSecondInputReturnsPoundNum()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(52.3, -9), this.ParsingContext);

            Assert.AreEqual(eErrorType.Num, ((ExcelErrorValue)result.Result).Type);
        }
예제 #4
0
        public void CeilingWithNegativeInputsReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(-2.5, -2), this.ParsingContext);

            Assert.AreEqual(-4d, result.Result);
        }
예제 #5
0
        public void CeilingWithGeneralStringFirstInputReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs("string", 3), this.ParsingContext);

            Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type);
        }
예제 #6
0
        public void CeilingWithDateAsStringSecondInputReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(12.3, "5/5/2017"), this.ParsingContext);

            Assert.AreEqual(42860d, result.Result);
        }
예제 #7
0
        public void CeilingWithNumericStringSecondInputReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(5, "2"), this.ParsingContext);

            Assert.AreEqual(6d, result.Result);
        }
예제 #8
0
        public void CeilingWithDoubleSecondInputReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(45, 6.7), this.ParsingContext);

            Assert.AreEqual(46.9d, (double)result.Result, 0.000001);
        }
예제 #9
0
        public void CeilingWithSecondInputAsIntegerReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(6, 5), this.ParsingContext);

            Assert.AreEqual(10d, result.Result);
        }
예제 #10
0
        public void CeilingWithNumbericStringFirstInputReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs("45.6", 4), this.ParsingContext);

            Assert.AreEqual(48d, result.Result);
        }
예제 #11
0
        public void CeilingWithFirstInputNegativeSecondInputPositiveReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(-15, 4), this.ParsingContext);

            Assert.AreEqual(-12d, result.Result);
        }
예제 #12
0
        public void CeilingWithNoInputsReturnsPoundValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(), this.ParsingContext);

            Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type);
        }
예제 #13
0
        public void CeilingWithDoubleFirstInputReturnsCorrectValue()
        {
            var function = new Ceiling();
            var result   = function.Execute(FunctionsHelper.CreateArgs(12.63, 3), this.ParsingContext);

            Assert.AreEqual(15d, result.Result);
        }
예제 #14
0
        public void CeilingBugTest2()
        {
            var expectedValue = 12000d;
            var func          = new Ceiling();
            var args          = FunctionsHelper.CreateArgs(12000d, 1000d);
            var result        = func.Execute(args, _parsingContext);

            Assert.AreEqual(expectedValue, result.Result);
        }
예제 #15
0
        public void CeilingShouldRoundUpAccordingToParamsSignificanceLowerThan0()
        {
            var expectedValue = 22.36d;
            var func          = new Ceiling();
            var args          = FunctionsHelper.CreateArgs(22.35d, 0.01);
            var result        = func.Execute(args, _parsingContext);

            Assert.AreEqual(expectedValue, result.Result);
        }
예제 #16
0
        public void CeilingShouldRoundTowardsZeroIfSignificanceAndNumberIsNegative()
        {
            var expectedValue = -30d;
            var func          = new Ceiling();
            var args          = FunctionsHelper.CreateArgs(-22.35d, -10);
            var result        = func.Execute(args, _parsingContext);

            Assert.AreEqual(expectedValue, result.Result);
        }
예제 #17
0
        public void CeilingShouldThrowExceptionIfNumberIsPositiveAndSignificanceIsNegative()
        {
            var expectedValue = 30d;
            var func          = new Ceiling();
            var args          = FunctionsHelper.CreateArgs(22.35d, -1);
            var result        = func.Execute(args, _parsingContext);

            Assert.AreEqual(expectedValue, result.Result);
        }
예제 #18
0
        public void CeilingShouldRoundTowardsZeroIfSignificanceAndNumberIsMinus0point1()
        {
            var expectedValue = -22.4d;
            var func          = new Ceiling();
            var args          = FunctionsHelper.CreateArgs(-22.35d, -0.1);
            var result        = func.Execute(args, _parsingContext);

            Assert.AreEqual(expectedValue, System.Math.Round((double)result.Result, 2));
        }