public void SyntaxNode_WhenToStringCalled_ReturnsCorrectString() { // Arranged: var stmtNodeMock = new Mock <IStatementNode>(); stmtNodeMock.Setup(node => node.ToString()).Returns(() => "<S> ::= \"a\" ."); var syntaxNode = new SyntaxNode(new Token(), _tracer); syntaxNode.AppendStatement(stmtNodeMock.Object); // Act: var actual = syntaxNode.ToString(); // Assert: Assert.That(actual, Is.EqualTo("<S> ::= \"a\" .\r\n")); }
public ISyntaxNode BuildTree() { var syntaxNode = new SyntaxNode(new Token(), _tracer) { PreActionNode = string.IsNullOrEmpty(PreActionName) ? null : new ActionNode(new Token(TokenKind.Action, PreActionName), _tracer), PostActionNode = string.IsNullOrEmpty(PostActionName) ? null : new ActionNode(new Token(TokenKind.Action, PostActionName), _tracer) }; foreach (var stmt in _statements) { var stmtNode = stmt.BuildTree(); syntaxNode.AppendStatement(stmtNode); } return(syntaxNode); }