private static void Execute(string v) { var path = parser.GeneratePath(v); var es = path.Eval(term); if (es.Count == 0) { Console.WriteLine("Not a valid event."); } else if (es.Count > 1) { Console.WriteLine("Path selects more than one event, consider adding [0]."); } else { try { es.ElementAt(0).Execute(); Console.WriteLine(term.ToSource()); Console.WriteLine(term.PrintTree(true)); if (autoCompute) { Console.WriteLine("Auto computing:"); Console.WriteLine(term.AutoComputeToString()); } } catch (Exception e) { Console.WriteLine("Execution of " + v + " failed because: " + e.Message); } } }
public void BasicPathParserTest() { string input = "A/B"; var p = new ResedaParser(); var path = p.GeneratePath(input); var path2 = p.GeneratePath(path.ToSource()); Assert.AreEqual(path.ToSource(), "A/B"); Assert.AreEqual(path.ToSource(), path2.ToSource()); System.Diagnostics.Debug.WriteLine(path.ToSource()); }