public void AddTokenName_WhenNotFirstOccurrencesOfToken_ThrowsSemanticErrorException() { // Arrange: const string actualImage = "a"; var token = new Token { TokenKind = TokenKind.String, Image = actualImage }; var builder = new AstBuilder(null, null, null, _tracerMock.Object); builder.AddTokenName(token); // Act: void AddTokenName() => builder.AddTokenName(token); // Assert: Assert.Throws <SemanticErrorException>(AddTokenName); }
public void SetTokenDefinition_GivenAToken_AddToTokenDefinition() { // Arrange: var builder = new AstBuilder(null, null, null, _tracerMock.Object); const string actualDefinition = "tkA"; var token = new Token { TokenKind = TokenKind.String, Image = actualDefinition }; // Act: builder.AddTokenName(token); builder.SetTokenDef(token); // Assert: Assert.That(builder.TokenDefinitions.Count, Is.EqualTo(1)); Assert.That(builder.TokenDefinitions.First().Definition, Is.EqualTo(actualDefinition)); }
public void AddTokenName_WhenFirstOccurrencesOfToken_AddToTokenDefinition() { // Arrange: const string actualImage = "a"; var token = new Token { TokenKind = TokenKind.String, Image = actualImage }; var builder = new AstBuilder(null, null, null, _tracerMock.Object); // Act: builder.AddTokenName(token); // Assert: Assert.That(builder.TokenDefinitions.Count, Is.EqualTo(1)); Assert.That(builder.TokenDefinitions.First().Image, Is.EqualTo(actualImage)); }