Exemple #1
0
        public void BeginKleene_WhenGivenAToken_PushesOptionNode()
        {
            // Arrange:
            var token = new Token {
                TokenKind = TokenKind.LeftBrace, Image = "{"
            };
            var stack   = new Stack <IAstNode>();
            var builder = new AstBuilder(_nodeFactoryMock.Object, null, stack, _tracerMock.Object);

            // Act:
            builder.BeginKleene(token);

            // Assert:
            Assert.That(stack.Count, Is.EqualTo(1));
            Assert.That(stack.Peek(), Is.InstanceOf(typeof(IKleeneStarNode)));
            Assert.That((stack.Peek() as IKleeneStarNode)?.Expression, Is.Null);
        }