예제 #1
0
 private string GenerateAnswer(AnswerTreeNode node)
 {
     return(String.Format(
                "node [answer,label=right:{{\\{{{1}\\}}}}] {{{0}}}",
                node.Answer,
                String.Join(", ", node.Data.Select(d => d.ToString()))));
 }
예제 #2
0
        private string Generate(ITreeNode node, string answer, int level)
        {
            StringBuilder sb = new StringBuilder();

            if (node is AnswerTreeNode)
            {
                AnswerTreeNode answerTreeNode = node as AnswerTreeNode;
                sb.Append(GenerateAnswer(answerTreeNode));
            }
            else if (node is QuestionTreeNode)
            {
                QuestionTreeNode questionTreeNode = node as QuestionTreeNode;
                sb.Append(GenerateQuestion(questionTreeNode, level));
            }
            if (answer != null)
            {
                sb.AppendFormat(
                    "{0}edge from parent node [left] {{{1}}}",
                    Environment.NewLine,
                    answer);
            }
            return(sb.ToString().Indent(level, "  "));
        }