示例#1
0
        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));
        }