private static List<TanNode> Init(bool real) { var e = FakeData.GetEnumerator(); var nodes = new Dictionary<string, TanNode>(); var method = real ? (Func<string>)(Console.ReadLine) : (Func<string>)(() => { e.MoveNext(); return e.Current; }); var startShortName = method(); var endShortName = method(); var stopNum = int.Parse(method()); for (var i = 0; i < stopNum; i++) { var node = new TanNode(method()); nodes.Add(node.ShortName, node); } stopNum = int.Parse(method()); for (var i = 0; i < stopNum; i++) { var split = method().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); var node1 = nodes[split[0]]; var node2 = nodes[split[1]]; node1.Linked.Add(node2); } start = nodes[startShortName]; end = nodes[endShortName]; return nodes.Values.ToList(); }
private static Function createTanFunction() { Declaration declaration = new Declaration("tan(x)"); EvaluationNode node = new TanNode(); EvaluationTree tree = new EvaluationTree(node); return(new Function(declaration, tree)); }