Example #1
0
        public void SimpleTest()
        {
            var nodes = new List <Node> ();

            nodes.Add(new TemporaryNode());
            nodes.Add(new TemporaryNode());
            nodes.Add(new TemporaryNode());
            nodes.Add(new TemporaryNode());
            nodes.Add(Target.R10);

            var node = new ConditionalJumpNode(nodes [0], new ConditionalJumpNode(nodes [1], nodes [2], nodes [3]), nodes [4]);

            Console.WriteLine(node);

            var trace = new HashSet <Node> (TraceBuilder.BuildTrace(node));

            bool fine = true;

            foreach (Node n in trace)
            {
                fine &= !(n is ConditionalJumpNode);
            }

            fine &= trace.Contains(nodes [2]);
            fine &= trace.Contains(nodes [3]);
            fine &= trace.Contains(nodes [4]);

            Assert.IsTrue(fine);
        }