public void BuildTree_EmptyExpression_ReturnsEmptyExpressionTree()
        {
            List <Token> tokens = new List <Token>();

            EndOfTokenStreamException exception = Assert.Throws <EndOfTokenStreamException>(
                () => builder.BuildTree(new Tokens(tokens))
                );

            Assert.AreEqual("Unexpected end of token stream", exception.Message);
        }
        public void BuildTree_IllegalEndOfStream_ThrowsException()
        {
            List <Token> tokens = new List <Token>
            {
                new Token(TokenType.LeftParentheses),
                new Token(TokenType.Number, "1"),
            };

            EndOfTokenStreamException exception = Assert.Throws <EndOfTokenStreamException>(
                () => builder.BuildTree(new Tokens(tokens))
                );

            Assert.AreEqual("Unexpected end of token stream", exception.Message);
        }