private string GenerateAnswer(AnswerTreeNode node) { return(String.Format( "node [answer,label=right:{{\\{{{1}\\}}}}] {{{0}}}", node.Answer, String.Join(", ", node.Data.Select(d => d.ToString())))); }
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, " ")); }