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); }