public void Issue138Variable() { var x = Math.FileLookupInterpolate2D(new Series(), new Series(), ""); string equation = "FileLookupInterpolate2D(rir_fb, rir_ra, \"rir_q_2da.txt\") +FileLookupInterpolate2D(rir_fb, rir_rb, \"rir_q_2d.txt\")"; var vars = VariableParser.Default().GetAllVariables(equation); Assert.IsTrue(Array.IndexOf(vars, "rir_fb") >= 0, "rir_fb"); Assert.IsTrue(Array.IndexOf(vars, "rir_ra") >= 0, "rir_ra"); Assert.IsTrue(Array.IndexOf(vars, "rir_rb") >= 0, "rir_rb"); }
public void VariableNames() { string equation = "Merge()"; // not a variable Assert.AreEqual(0, VariableParser.Default().GetAllVariables(equation).Length); equation = "Merge(series1,'series 2')+'Series 5'"; var vars = VariableParser.Default().GetAllVariables(equation); Assert.AreEqual("series1", vars[0]); Assert.AreEqual("series 2", vars[1]); Assert.AreEqual("Series 5", vars[2]); equation = "'jck af'+two"; vars = VariableParser.Default().GetAllVariables(equation); Assert.AreEqual(2, vars.Length); }
internal List <string> GetDependentVariables() { List <string> rval = new List <string>(); string equation = ExpressionPreProcessor(); foreach (var n in VariableParser.Default().GetAllVariables(equation)) { if (this.Table.TableName == n) { Logger.WriteLine("warning: possible recursive dependency: " + n); continue; } if (rval.Contains(n)) { continue; } rval.Add(n); } return(rval); }