ImageAdjustColorDialog(NEVariables variables) { Variables = variables; InitializeComponent(); Expression = "1"; Red = Green = Blue = true; }
FilesOperationsSplitFileDialog(NEVariables variables) { Variables = variables; InitializeComponent(); OutputTemplate = @"$@""{directoryname(x)}\{filenamewithoutextension(x)}-{chunk}{extension(x)}"""; ChunkSize = "20 mb"; }
NumericLimitDialog(NEVariables variables) { Variables = variables; InitializeComponent(); Minimum = "xmin"; Maximum = "xmax"; }
MakeAbsoluteDialog(NEVariables variables, bool getType) { Variables = variables; InitializeComponent(); CheckType = getType; Expression = "f"; }
NumericFloorRoundCeilingDialog(NEVariables variables) { Variables = variables; InitializeComponent(); BaseValue = "0"; Interval = "1"; }
FilesSetTimeDialog(NEVariables variables, string expression) { InitializeComponent(); Variables = variables; Expression = expression; }
RandomDataDialog(NEVariables variables) { Variables = variables; InitializeComponent(); Chars = "a-zA-Z"; Expression = "x"; }
FilesFindMassFindDialog(NEVariables variables) { InitializeComponent(); Variables = variables; EncodingCheckBoxes = new ObservableCollection <CodePageCheckBox>(Coder.GetStringCodePages().Select(codePage => new CodePageCheckBox { CodePage = codePage })); checkBoxes = this.FindLogicalChildren <CodePageCheckBox>().Concat(EncodingCheckBoxes).ToList(); codePages.PreviewKeyDown += (s, e) => { if (e.Key == Key.Space) { var selected = codePages.SelectedItems.Cast <CodePageCheckBox>().ToList(); var status = !selected.All(item => item.IsChecked == true); selected.ForEach(item => item.IsChecked = status); e.Handled = true; } }; Expression = expression.GetLastSuggestion().CoalesceNullOrEmpty("k"); ShowLE = savedShowLE; ShowBE = savedShowBE; ShowInt = savedShowInt; ShowFloat = savedShowFloat; ShowStr = savedShowStr; MatchCase = savedMatchCase; foreach (var checkBox in checkBoxes) { checkBox.IsChecked = savedCodePages.Contains(checkBox.CodePage); } }
NumericScaleDialog(NEVariables variables) { Variables = variables; InitializeComponent(); PrevMin = NewMin = "xmin"; PrevMax = NewMax = "xmax"; }
TextRandomTextDialog(NEVariables variables) { Variables = variables; InitializeComponent(); Chars = "a-zA-Z"; Expression = "x"; }
SelectSplitDialog(NEVariables variables) { Variables = variables; InitializeComponent(); Reset(); Text = ","; }
ImageAddOverlayColorDialog(bool add, NEVariables variables) { Title = $"{(add ? "Add" : "Overlay")} Colors"; Variables = variables; InitializeComponent(); Expression = "c"; }
ImageGIFAnimateDialog(NEVariables variables) { Variables = variables; InitializeComponent(); InputFiles = OutputFile = "x"; Delay = "100 ms"; Repeat = "0"; }
GetExpressionDialog(NEVariables variables, int? numRows) { InitializeComponent(); Expression = "x"; Variables = variables; NumRows = numRows; }
ImageCropDialog(NEVariables variables) { Variables = variables; InitializeComponent(); OnResetClick(); }
AddColumnDialog(NEVariables variables, int numRows) { InitializeComponent(); Expression = "y"; Variables = variables; NumRows = numRows; }
NumericRandomNumberDialog(NEVariables variables) { Variables = variables; InitializeComponent(); MinValue = "1"; MaxValue = "1000"; }
GotoDialog(GotoType gotoType, int value, NEVariables variables) { Variables = variables; InitializeComponent(); Title = $"Go To {gotoType}"; Expression = value.ToString(); }
public static Result Run(Window parent, NEVariables variables) { var dialog = new RotateDialog(variables) { Owner = parent }; if (!dialog.ShowDialog()) return null; return dialog.result; }
public static Result Run(Window parent, int numSels, NEVariables variables) { var dialog = new LimitDialog(numSels, variables) { Owner = parent }; if (!dialog.ShowDialog()) return null; return dialog.result; }
GetExpressionDialog(NEVariables variables, int?numRows) { InitializeComponent(); Expression = "x"; Variables = variables; NumRows = numRows; }
RepeatDialog(bool selectRepetitions, NEVariables variables) { Variables = variables; InitializeComponent(); Expression = "1"; SelectRepetitions = selectRepetitions; }
EditRepeatDialog(bool selectRepetitions, NEVariables variables) { Variables = variables; InitializeComponent(); Expression = "1"; SelectRepetitions = selectRepetitions; }
TableAddColumnDialog(NEVariables variables, int numRows) { InitializeComponent(); Expression = "y"; Variables = variables; NumRows = numRows; }
FilesOperationsCombineFilesDialog(NEVariables variables) { Variables = variables; InitializeComponent(); InputFiles = "x"; InputFileCount = "xn"; OutputFiles = @"$@""{directoryname(xtmin)}\{filenamewithoutextension(xtmin)}-Combine{extension(xtmin)}"""; }
ImageRotateDialog(NEVariables variables) { Variables = variables; InitializeComponent(); AngleExpression = "0 deg"; }
FilesNamesMakeAbsoluteRelativeDialog(NEVariables variables, bool absolute, bool checkType) { Variables = variables; InitializeComponent(); Title = $"Make {(absolute ? "Absolute" : "Relative")}"; CheckType = checkType; Expression = "f"; }
CopyMoveFilesDialog(NEVariables variables, bool move) { Variables = variables; InitializeComponent(); Title = move ? "Move Files" : "Copy Files"; OldFileName = NewFileName = "x"; }
static public Result Run(Window parent, NEVariables variables) { var dialog = new FilesOperationsSplitFileDialog(variables) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
public static Result Run(Window parent, NEVariables variables, Coder.CodePage codePage) { var dialog = new FilesCreateFromExpressionsDialog(variables, codePage) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
static public Result Run(Window parent, NEVariables variables) { var dialog = new NumericRandomNumberDialog(variables) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
public static Result Run(Window parent, bool numeric, bool isSelect, NEVariables variables) { var dialog = new TextWidthDialog(numeric, isSelect, variables) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
static public Result Run(Window parent, NEVariables variables) { var dialog = new ImageGrabImageDialog(variables) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
PositionGotoDialog(GotoType gotoType, int value, NEVariables variables) { Variables = variables; InitializeComponent(); Title = $"Go To {gotoType}"; Expression = value.ToString(); OpenFilesOnce = true; }
static public Result Run(Window parent, NEVariables variables, int?numRows = null) { var dialog = new GetExpressionDialog(variables, numRows) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
public static Result Run(Window parent, GotoType gotoType, int startValue, NEVariables variables) { var dialog = new PositionGotoDialog(gotoType, startValue, variables) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
public static Result Run(Window parent, NEVariables variables) { var dialog = new FilesFindMassFindDialog(variables) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
public static Result Run(Window parent, NEVariables variables, bool move) { var dialog = new FilesOperationsCopyMoveDialog(variables, move) { Owner = parent }; return(dialog.ShowDialog() ? dialog.result : null); }
FilesOperationsCopyMoveDialog(NEVariables variables, bool move) { Variables = variables; InitializeComponent(); Title = move ? "Move Files" : "Copy Files"; OldFileName = NewFileName = "x"; }
LimitDialog(int maxSels, NEVariables variables) { Variables = variables; InitializeComponent(); FirstSel = "1"; SelMult = "1"; NumSels = maxSels.ToString(); JoinSels = false; }
MassFindDialog(string text, bool selectionOnly, NEVariables variables) { InitializeComponent(); Text = text.CoalesceNullOrEmpty(this.text.GetLastSuggestion(), ""); MatchCase = matchCaseVal; KeepMatching = keepMatchingVal; RemoveMatching = removeMatchingVal; SelectionOnly = selectionOnly; Variables = variables; }
CreateFilesDialog(NEVariables variables, Coder.CodePage defaultCodePage) { Variables = variables; InitializeComponent(); FileName = Data = "x"; CodePage = defaultCodePage; codePage.ItemsSource = Coder.GetAllCodePages().ToDictionary(page => page, page => Coder.GetDescription(page)); codePage.SelectedValuePath = "Key"; codePage.DisplayMemberPath = "Value"; }
WidthDialog(bool numeric, bool isSelect, NEVariables variables) { Variables = variables; InitializeComponent(); padChar.GotFocus += (s, e) => padChar.SelectAll(); IsSelect = isSelect; Expression = "max(len([x]))"; if (numeric) NumericClick(null, null); else StringClick(null, null); }
public static Result Run(Window parent, NEVariables variables, Coder.CodePage codePage) { var dialog = new CreateFilesDialog(variables, codePage) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
public static Result Run(Window parent, NEVariables variables, bool move) { var dialog = new CopyMoveFilesDialog(variables, move) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
static public Result Run(Window parent, string text, bool selectionOnly, NEVariables variables) { var dialog = new MassFindDialog(text, selectionOnly, variables) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
public void ExpressionTest() { Assert.AreEqual("1125899906842624", new NEExpression("2^50").Evaluate().ToString()); Assert.AreEqual("4", new NEExpression("-(-4)").Evaluate().ToString()); Assert.AreEqual("4", new NEExpression("2 + 2").Evaluate().ToString()); Assert.AreEqual("7.1", new NEExpression("5.1 + 2").Evaluate().ToString()); Assert.AreEqual("5.1", new NEExpression("5 + .1").Evaluate().ToString()); Assert.AreEqual("5", new NEExpression("4.9 + .1").Evaluate().ToString()); Assert.AreEqual("5.2", new NEExpression("5.1 + .1").Evaluate().ToString()); Assert.AreEqual("bcd", new NEExpression("\"abc\" t++ 1").Evaluate().ToString()); Assert.AreEqual("a1", new NEExpression("\"a\" t+ 1").Evaluate().ToString()); Assert.AreEqual("0", new NEExpression("2 - 2").Evaluate().ToString()); Assert.AreEqual("3.1", new NEExpression("5.1 - 2").Evaluate().ToString()); Assert.AreEqual("4.9", new NEExpression("5 - .1").Evaluate().ToString()); Assert.AreEqual("4.8", new NEExpression("4.9 - .1").Evaluate().ToString()); Assert.AreEqual("5", new NEExpression("5.1 - .1").Evaluate().ToString()); Assert.AreEqual("a", new NEExpression("\"b\" t-- 1").Evaluate().ToString()); Assert.AreEqual("10.8", new NEExpression("5.4 * 2").Evaluate().ToString()); Assert.AreEqual("10.5", new NEExpression("5 * 2.1").Evaluate().ToString()); Assert.AreEqual("okokokok", new NEExpression("\"ok\" t* 4").Evaluate().ToString()); Assert.AreEqual("oooo", new NEExpression("\"o\" t* 4").Evaluate().ToString()); Assert.AreEqual("2.5", new NEExpression("5 / 2").Evaluate().ToString()); Assert.AreEqual("2", new NEExpression("5 // 2").Evaluate().ToString()); Assert.AreEqual("2.5", new NEExpression("5.0 / 2").Evaluate().ToString()); Assert.AreEqual("2.5", new NEExpression("5 / 2.0").Evaluate().ToString()); Assert.AreEqual("64", new NEExpression("4 ^ 3").Evaluate().ToString()); Assert.AreEqual("4", new NEExpression("64 ^ (1 / 3.0)").Evaluate().ToString()); Assert.AreEqual("4.5", new NEExpression("410.0625 ^ .25").Evaluate().ToString()); Assert.AreEqual("8", new NEExpression("2 << 2").Evaluate().ToString()); Assert.AreEqual("1024", new NEExpression("1048576 >> 10").Evaluate().ToString()); Assert.AreEqual("-3735928560", new NEExpression("~[0]").Evaluate(0xdeadbeef).ToString()); Assert.AreEqual("179154957", new NEExpression("&").Evaluate(0xdeadbeef, 0x0badf00d).ToString()); Assert.AreEqual("3573567202", new NEExpression("^^").Evaluate(0xdeadbeef, 0x0badf00d).ToString()); Assert.AreEqual("3752722159", new NEExpression("|").Evaluate(0xdeadbeef, 0x0badf00d).ToString()); Assert.AreEqual(true, new NEExpression("TRUE").Evaluate()); Assert.AreEqual(false, new NEExpression("False").Evaluate()); Assert.AreEqual("7.1", new NEExpression("5.0 + 2.1").Evaluate().ToString()); Assert.AreEqual("14.1", new NEExpression("3.6 + 2.1 * 5.0").Evaluate().ToString()); Assert.AreEqual("28.5", new NEExpression("(3.6 + 2.1) * 5.0").Evaluate().ToString()); Assert.AreEqual("12.1", new NEExpression("[0] + [1]").Evaluate(5.4, 6.7).ToString()); Assert.AreEqual(true, new NEExpression("[0] is \"Int32\"").Evaluate(5)); Assert.AreEqual(true, new NEExpression("\"5a\" t== \"5a\"").Evaluate()); Assert.AreEqual(false, new NEExpression("\"5a\" t== \"5A\"").Evaluate()); Assert.AreEqual(true, new NEExpression("\"5a\" ti== \"5a\"").Evaluate()); Assert.AreEqual(true, new NEExpression("\"5a\" ti== \"5A\"").Evaluate()); Assert.AreEqual(false, new NEExpression("\"5a\" t!= \"5a\"").Evaluate()); Assert.AreEqual(true, new NEExpression("\"5a\" t!= \"5A\"").Evaluate()); Assert.AreEqual(false, new NEExpression("\"5a\" ti!= \"5a\"").Evaluate()); Assert.AreEqual(false, new NEExpression("\"5a\" ti!= \"5A\"").Evaluate()); Assert.AreEqual("5", new NEExpression("[0].\"value\"").Evaluate(new ExpressionDotTest(5)).ToString()); Assert.AreEqual(typeof(ExpressionDotTest).FullName, new NEExpression("Type([0]).\"FullName\"").Evaluate(new ExpressionDotTest(5)).ToString()); Assert.AreEqual(true, new NEExpression("ValidRE([0])").Evaluate(@"\d+")); Assert.AreEqual(false, new NEExpression("ValidRE([0])").Evaluate(@"[")); Assert.AreEqual("15.5", new NEExpression("+").Evaluate(1, 2, 3, 4, 5.5).ToString()); Assert.AreEqual(true, new NEExpression("||").Evaluate(false, false, true, false)); Assert.AreEqual("120", new NEExpression("*").Evaluate(4, 5, 6).ToString()); Assert.AreEqual("5", new NEExpression("([0] || [1]) ? [2] : [3]").Evaluate(false, true, 5, 6).ToString()); Assert.AreEqual("ICanJoinStrings", new NEExpression("t+").Evaluate("I", "Can", null, "Join", "Strings").ToString()); Assert.AreEqual("a\\\'\"\0\a\b\f\n\r\t\v\x1\x12\x123\x1234\u1234\U00001234\U0001d161", new NEExpression(@"""a"" t+ ""\\"" t+ ""\'"" t+ ""\"""" t+ ""\0"" t+ ""\a"" t+ ""\b"" t+ ""\f"" t+ ""\n"" t+ ""\r"" t+ ""\t"" t+ ""\v"" t+ ""\x1"" t+ ""\x12"" t+ ""\x123"" t+ ""\x1234"" t+ ""\u1234"" t+ ""\U00001234"" t+ ""\U0001d161""").Evaluate().ToString()); Assert.AreEqual("", new NEExpression("\"\"").Evaluate().ToString()); Assert.AreEqual(" Slash: \\ Quote: \' Double: \" Null: \0 Alert: \a Backspace: \b Form feed: \f New line: \n Carriage return:\r Tab: \t Vertical quote: \v Hex1: \x1 Hex2: \x12 Hex3: \x123 Hex4: \x1234 Unicode4: \u1234 Unicode8: \U00001234 Unicode8: \U0001d161 ", new NEExpression(@""" Slash: \\ Quote: \' Double: \"" Null: \0 Alert: \a Backspace: \b Form feed: \f New line: \n Carriage return:\r Tab: \t Vertical quote: \v Hex1: \x1 Hex2: \x12 Hex3: \x123 Hex4: \x1234 Unicode4: \u1234 Unicode8: \U00001234 Unicode8: \U0001d161 """).Evaluate().ToString()); Assert.AreEqual("", new NEExpression("@\"\"").Evaluate().ToString()); Assert.AreEqual(@"This \is "" my string", new NEExpression(@"@""This \is """" my string""").Evaluate().ToString()); Assert.AreEqual("", new NEExpression("$\"\"").Evaluate().ToString()); Assert.AreEqual("{2 + 2 = 4}\r\n", new NEExpression(@"$""{{\u0032 + 2 = {2 + 2}}}\r\n""").Evaluate().ToString()); Assert.AreEqual(@"\n ""{2 + 2} \= 4"" \n", new NEExpression(@"@$""\n """"{{2 + 2}} \= {2 + 2}"""" \n""").Evaluate().ToString()); Assert.AreEqual(@"\n ""{2 + 2} \= 4"" \n", new NEExpression(@"$@""\n """"{{2 + 2}} \= {2 + 2}"""" \n""").Evaluate().ToString()); Assert.AreEqual("", new NEExpression("@$\"\"").Evaluate().ToString()); Assert.AreEqual("", new NEExpression("$@\"\"").Evaluate().ToString()); Assert.AreEqual("[0]5+7 is 12", new NEExpression("StrFormat(\"[0]{0}+{1} is {2}\", [0], [1], [0] + [1])").Evaluate(5, 7).ToString()); Assert.AreEqual("Test", new NEExpression("StrFormat(\"Test\")").Evaluate().ToString()); Assert.AreEqual("Test 5", new NEExpression("StrFormat(\"Test {0}\", 5)").Evaluate().ToString()); Assert.AreEqual("Test 5 7", new NEExpression("StrFormat(\"Test {0} {1}\", 5, 7)").Evaluate().ToString()); Assert.AreEqual(false, new NEExpression("!true").Evaluate()); Assert.AreEqual(true, new NEExpression("![0]").Evaluate(false)); Assert.AreEqual("-4", new NEExpression("-4").Evaluate().ToString()); Assert.AreEqual(typeof(byte), new NEExpression("Type([0])").Evaluate((byte)0)); Assert.AreEqual("3931877116", new NEExpression("0xdeadbeef + [0]").Evaluate(0x0badf00d).ToString()); Assert.AreEqual("2", new NEExpression("Min(3,4,2)").Evaluate().ToString()); Assert.AreEqual("4", new NEExpression("Max(3,4,2)").Evaluate().ToString()); Assert.AreEqual("16", new NEExpression("len(\"1125899906842624\")").Evaluate().ToString()); Assert.AreEqual("16,3,4", new NEExpression("len(\"1125899906842624\", 123, \"Test\")").Evaluate().ToString()); Assert.AreEqual("3", new NEExpression("min(len(\"1125899906842624\", 123, \"Test\"))").Evaluate().ToString()); Assert.AreEqual("8", new NEExpression("multiple(8,8)").Evaluate().ToString()); Assert.AreEqual("16", new NEExpression("multiple(9,8)").Evaluate().ToString()); Assert.AreEqual("8.4", new NEExpression("multiple(1.1,8.4)").Evaluate().ToString()); Assert.AreEqual("16.8", new NEExpression("multiple(9.5,8.4)").Evaluate().ToString()); Assert.AreEqual("3 foot", new NEExpression("multiple(30 in,1 foot)").Evaluate().ToString()); Assert.AreEqual("3.14159265358979", new NEExpression("pi").Evaluate().ToString()); Assert.AreEqual("2.71828182845905", new NEExpression("e").Evaluate().ToString()); Assert.AreEqual("120", new NEExpression("5!").Evaluate().ToString()); Assert.AreEqual("Four hundred eleven billion forty five thousand three hundred twelve", new NEExpression("towords(411000045312)").Evaluate().ToString()); Assert.AreEqual("Zero", new NEExpression("towords(0)").Evaluate().ToString()); Assert.AreEqual("Negative five", new NEExpression("towords(-5)").Evaluate().ToString()); Assert.AreEqual("554212019", new NEExpression("fromwords(\" five -hundred-fifty-four million, two hundred twelve thousand, nineteen \")").Evaluate().ToString()); Assert.AreEqual("5110000", new NEExpression("fromwords(\"5.11 million\")").Evaluate().ToString()); Assert.AreEqual("411000045312", new NEExpression("fromwords(\"Four hundred eleven billion forty five thousand three hundred twelve\")").Evaluate().ToString()); Assert.AreEqual("0", new NEExpression("fromwords(\"Zero\")").Evaluate().ToString()); Assert.AreEqual("-5", new NEExpression("fromwords(\"Negative five\")").Evaluate().ToString()); Assert.AreEqual("5", new NEExpression("gcf(30,20,15)").Evaluate().ToString()); Assert.AreEqual("60", new NEExpression("lcm(30,20,15)").Evaluate().ToString()); Assert.AreEqual("1/5", new NEExpression("reduce(20,100)").Evaluate().ToString()); Assert.AreEqual("11 m/s", new NEExpression("5.5 m/(s^2)/s*s * 2 s").Evaluate().ToString()); Assert.AreEqual("1440 minutes", new NEExpression("1 day => minutes").Evaluate().ToString()); Assert.AreEqual("17168.481792 m^2", new NEExpression("5 miles * 7 feet => m^2").Evaluate().ToString()); Assert.AreEqual("5 cm^3", new NEExpression("5 ml => cm^3").Evaluate().ToString()); Assert.AreEqual("5280 feet", new NEExpression("1 mile => feet").Evaluate().ToString()); Assert.AreEqual("147197952000 feet^3", new NEExpression("1 mile^3 => feet^3").Evaluate().ToString()); Assert.AreEqual("328.15 K", new NEExpression("55 degc => K").Evaluate().ToString()); Assert.AreEqual("55 degc", new NEExpression("328.15 K => degc").Evaluate().ToString()); Assert.AreEqual("15 degc", new NEExpression("59 degf => degc").Evaluate().ToString()); Assert.AreEqual("59 degf", new NEExpression("15 degc => degf").Evaluate().ToString()); Assert.AreEqual("26 in", new NEExpression("2 in + 2 ft").Evaluate().ToString()); Assert.AreEqual(true, new NEExpression("5 km = 5000000 mm").Evaluate()); Assert.AreEqual("5000 kg*m^2/s^2", new NEExpression("5 kJ => SI").Evaluate().ToString()); Assert.AreEqual("1E-06 m^3", new NEExpression("1 mL => SI").Evaluate().ToString()); Assert.AreEqual("1000000 s^-1", new NEExpression("1 MHz => SI").Evaluate().ToString()); Assert.AreEqual("10 W", new NEExpression("10 J/s => Simple").Evaluate().ToString()); Assert.AreEqual("25 $/lessons", new NEExpression("1000$ / 40 lessons").Evaluate().ToString()); Assert.AreEqual("-1", new NEExpression("cos(pi)").Evaluate().ToString()); Assert.AreEqual("-1", new NEExpression("cos(pi rad)").Evaluate().ToString()); Assert.AreEqual("-1", new NEExpression("cos(180 deg)").Evaluate().ToString()); Assert.AreEqual("3.14159265358979 rad", new NEExpression("acos(-1)").Evaluate().ToString()); Assert.AreEqual("180 deg", new NEExpression("acos(-1) => deg").Evaluate().ToString()); Assert.AreEqual("0", new NEExpression("factor(0)").Evaluate().ToString()); Assert.AreEqual("-1*2*2*3*5*7*11", new NEExpression("factor(-4620)").Evaluate().ToString()); Assert.AreEqual(true, new NEExpression("valideval(\"(5+2)\")").Evaluate()); Assert.AreEqual(false, new NEExpression("valideval(\"(5+)2\")").Evaluate()); var values = new NEExpression("random(2,10)").EvaluateRows<int>(null, 1000).Distinct().OrderBy().ToList(); Assert.IsTrue(values.Count == 9); var miscVars = new NEVariables( NEVariable.Constant("x", "", 0xdeadbeef), NEVariable.Constant("y", "", 0x0badf00d), NEVariable.Constant("z", "", 0x0defaced) ); var expr = new NEExpression("x - y + [0]"); var vars = expr.Variables; Assert.AreEqual(2, vars.Count); Assert.IsTrue(vars.Contains("x")); Assert.IsTrue(vars.Contains("y")); Assert.AreEqual("7816989104", expr.EvaluateRow(miscVars, 0xfeedface).ToString()); var listVars = new NEVariables(NEVariable.List("y", "", () => new List<string> { "12", "-13.1", "-13", "9", "0.0001" })); Assert.AreEqual("5", new NEExpression("count([y])").EvaluateRow(listVars).ToString()); Assert.AreEqual("-13.1", new NEExpression("min([y])").EvaluateRow(listVars).ToString()); Assert.AreEqual("12", new NEExpression("max([y])").EvaluateRow(listVars).ToString()); Assert.AreEqual("0.0001", new NEExpression("tmin([y])").EvaluateRow(listVars).ToString()); Assert.AreEqual("9", new NEExpression("tmax([y])").EvaluateRow(listVars).ToString()); Assert.AreEqual("-5.0999", new NEExpression("sum([y])").EvaluateRow(listVars).ToString()); CheckDates(); }
public static Result Run(Window parent, bool numeric, bool isSelect, NEVariables variables) { var dialog = new WidthDialog(numeric, isSelect, variables) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
static public Result Run(Window parent, NEVariables variables, int? numRows = null) { var dialog = new GetExpressionDialog(variables, numRows) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
public static void Run(NEVariables variables = null) => new ExpressionHelpVariablesDialog(variables).ShowDialog();
static public Result Run(Window parent, NEVariables variables, int numRows) { var dialog = new AddColumnDialog(variables, numRows) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
RotateDialog(NEVariables variables) { Variables = variables; InitializeComponent(); Count = "1"; }
ExpressionHelpVariablesDialog(NEVariables variables) { InitializeComponent(); Variables = variables; }
ExpressionHelpDialog(NEVariables variables = null) { Variables = variables; InitializeComponent(); ShowVariables.IsEnabled = variables != null; }
public static Result Run(NEVariables variables, Window parent) { var dialog = new RandomDataDialog(variables) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
string EvalExpression(string expression) { if (!expressions.ContainsKey(expression)) expressions[expression] = new NEExpression(expression); var variables = new NEVariables(values.Select(value => NEVariable.Constant(value.Key, "", value.Value))); return expressions[expression].EvaluateRow(variables).ToString(); }
public static Result Run(Window parent, GotoType gotoType, int startValue, NEVariables variables) { var dialog = new GotoDialog(gotoType, startValue, variables) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
public static void Display(NEVariables variables = null) => new ExpressionHelpDialog(variables);
public static Result Run(Window parent, NEVariables variables, bool getType) { var dialog = new MakeAbsoluteDialog(variables, getType) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
static public Result Run(Window parent, bool selectRepetitions, NEVariables variables) { var dialog = new RepeatDialog(selectRepetitions, variables) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }