Example #1
0
        public static ComparableValue Rounddown(ComparableValue value, ComparableValue digits)
        {
            var multiplier = Math.Pow(10, digits.Value.AsNumeric());

            return(new ComparableValue(
                       new NumericValue(Math.Floor(value.Value.AsNumeric() * multiplier / multiplier))));
        }
        public void ShouldReturnZeroIfValueExists()
        {
            var criteriaValue = new ComparableValue(new NumericValue(4));
            var result        = Formula.CountIf(values, criteriaValue);

            Assert.Equal(0, result.Value.AsNumeric());
        }
        public void ShouldReturnFalseValue()
        {
            var trueValue  = new ComparableValue(new NumericValue(1));
            var falseValue = new ComparableValue(new NumericValue(0));
            var result     = If(false, trueValue, falseValue);

            Assert.Equal(falseValue, result);
        }
Example #4
0
        public void ShouldReturnSumOfValues()
        {
            var comparableValue1 = new ComparableValue(new NumericValue(1));
            var comparableValue2 = new ComparableValue(new NumericValue(2));
            var comparableValue3 = new ComparableValue(new NumericValue(3));
            var result           = Sum(new [] { comparableValue1, comparableValue2, comparableValue3 });

            Assert.Equal(6, result.Value.AsNumeric());
        }
Example #5
0
 public static ComparableValue CountIf(IEnumerable <ComparableValue> values, ComparableValue criteria) =>
 new ComparableValue(new NumericValue(
                         values.Any(x => x == criteria) ? 1 : 0));
Example #6
0
 public static ComparableValue If(bool expression, ComparableValue trueValue, ComparableValue falseValue) =>
 expression ? trueValue : falseValue;