private void Initialize() { _functions[1] = new Average(); _functions[2] = new Count(); _functions[3] = new CountA(); _functions[4] = new Max(); _functions[5] = new Min(); _functions[6] = new Product(); _functions[7] = new Stdev(); _functions[8] = new StdevP(); _functions[9] = new Sum(); _functions[10] = new Var(); _functions[11] = new VarP(); AddHiddenValueHandlingFunction(new Average(), 101); AddHiddenValueHandlingFunction(new Count(), 102); AddHiddenValueHandlingFunction(new CountA(), 103); AddHiddenValueHandlingFunction(new Max(), 104); AddHiddenValueHandlingFunction(new Min(), 105); AddHiddenValueHandlingFunction(new Product(), 106); AddHiddenValueHandlingFunction(new Stdev(), 107); AddHiddenValueHandlingFunction(new StdevP(), 108); AddHiddenValueHandlingFunction(new Sum(), 109); AddHiddenValueHandlingFunction(new Var(), 110); AddHiddenValueHandlingFunction(new VarP(), 111); }
public void AverageShouldCalculateCorrectResultWithEnumerableAndBoolMembers() { var expectedResult = (4d + 2d + 5d + 2d + 1d) / 5d; var func = new Average(); var args = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(4d, 2d), 5d, 2d, true); var result = func.Execute(args, _parsingContext); Assert.AreEqual(expectedResult, result.Result); }
public void AverageShouldCalculateCorrectResult() { var expectedResult = (4d + 2d + 5d + 2d) / 4d; var func = new Average(); var args = FunctionsHelper.CreateArgs(4d, 2d, 5d, 2d); var result = func.Execute(args, _parsingContext); Assert.AreEqual(expectedResult, result.Result); }
public void AverageShouldIgnoreHiddenFieldsIfIgnoreHiddenValuesIsTrue() { var expectedResult = (4d + 2d + 2d + 1d) / 4d; var func = new Average(); func.IgnoreHiddenValues = true; var args = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(4d, 2d), 5d, 2d, true); args.ElementAt(1).SetExcelStateFlag(Engine.Excel.ExcelCellState.HiddenCell); var result = func.Execute(args, _parsingContext); Assert.AreEqual(expectedResult, result.Result); }
public BuiltInFunctions() { // Text Functions["text"] = new CStr(); Functions["len"] = new Len(); Functions["lower"] = new Lower(); Functions["upper"] = new Upper(); Functions["left"] = new Left(); Functions["right"] = new Right(); Functions["mid"] = new Mid(); Functions["replace"] = new Replace(); Functions["substitute"] = new Substitute(); Functions["concatenate"] = new Concatenate(); // Numbers Functions["int"] = new CInt(); // Math Functions["cos"] = new Cos(); Functions["cosh"] = new Cosh(); Functions["power"] = new Power(); Functions["sqrt"] = new Sqrt(); Functions["sqrtpi"] = new SqrtPi(); Functions["pi"] = new Pi(); Functions["product"] = new Product(); Functions["ceiling"] = new Ceiling(); Functions["count"] = new Count(); Functions["counta"] = new CountA(); Functions["floor"] = new Floor(); Functions["sin"] = new Sin(); Functions["sinh"] = new Sinh(); Functions["sum"] = new Sum(); Functions["sumif"] = new SumIf(); Functions["stdev"] = new Stdev(); Functions["stdevp"] = new StdevP(); Functions["subtotal"] = new Subtotal(); Functions["exp"] = new Exp(); Functions["log"] = new Log(); Functions["log10"] = new Log10(); Functions["max"] = new Max(); Functions["maxa"] = new Maxa(); Functions["min"] = new Min(); Functions["mod"] = new Mod(); Functions["average"] = new Average(); Functions["round"] = new Round(); Functions["rand"] = new Rand(); Functions["randbetween"] = new RandBetween(); Functions["tan"] = new Tan(); Functions["tanh"] = new Tanh(); Functions["var"] = new Var(); Functions["varp"] = new VarP(); // Information Functions["isblank"] = new IsBlank(); Functions["isnumber"] = new IsNumber(); Functions["istext"] = new IsText(); Functions["iserror"] = new IsError(); // Logical Functions["if"] = new If(); Functions["not"] = new Not(); Functions["and"] = new And(); Functions["or"] = new Or(); Functions["true"] = new True(); // Reference and lookup Functions["address"] = new Address(); Functions["hlookup"] = new HLookup(); Functions["vlookup"] = new VLookup(); Functions["lookup"] = new Lookup(); Functions["match"] = new Match(); Functions["row"] = new Row(); Functions["rows"] = new Rows(); Functions["column"] = new Column(); Functions["columns"] = new Columns(); Functions["choose"] = new Choose(); // Date Functions["date"] = new Date(); Functions["today"] = new Today(); Functions["now"] = new Now(); Functions["day"] = new Day(); Functions["month"] = new Month(); Functions["year"] = new Year(); Functions["time"] = new Time(); Functions["hour"] = new Hour(); Functions["minute"] = new Minute(); Functions["second"] = new Second(); }