|
|
|
|
@ -2,55 +2,57 @@ package fr.celticinfo.lox
|
|
|
|
|
|
|
|
|
|
import org.junit.jupiter.api.Test
|
|
|
|
|
import kotlin.test.*
|
|
|
|
|
import fr.celticinfo.lox.TokenType.*
|
|
|
|
|
|
|
|
|
|
class TokenTypeTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `TokenType contains expected values`() {
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.LEFT_PAREN))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.RIGHT_PAREN))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.LEFT_BRACE))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.RIGHT_BRACE))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.COMMA))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.DOT))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.MINUS))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.PLUS))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.SEMICOLON))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.SLASH))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.STAR))
|
|
|
|
|
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.BANG))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.BANG_EQUAL))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.EQUAL))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.EQUAL_EQUAL))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.GREATER))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.GREATER_EQUAL))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.LESS))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.LESS_EQUAL))
|
|
|
|
|
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.IDENTIFIER))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.STRING))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.NUMBER))
|
|
|
|
|
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.AND))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.CLASS))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.ELSE))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.FALSE))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.FUN))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.FOR))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.IF))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.NIL))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.OR))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.PRINT))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.RETURN))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.SUPER))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.THIS))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.TRUE))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.VAR))
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.WHILE))
|
|
|
|
|
|
|
|
|
|
assertTrue(TokenType.values().contains(TokenType.EOF))
|
|
|
|
|
|
|
|
|
|
assertEquals(39, TokenType.values().size)
|
|
|
|
|
val tokenTypeEntries = TokenType.entries.toTypedArray()
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(LEFT_PAREN))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(RIGHT_PAREN))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(LEFT_BRACE))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(RIGHT_BRACE))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(COMMA))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(DOT))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(MINUS))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(PLUS))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(SEMICOLON))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(SLASH))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(STAR))
|
|
|
|
|
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(BANG))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(BANG_EQUAL))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(EQUAL))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(EQUAL_EQUAL))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(GREATER))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(GREATER_EQUAL))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(LESS))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(LESS_EQUAL))
|
|
|
|
|
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(IDENTIFIER))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(STRING))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(NUMBER))
|
|
|
|
|
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(AND))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(CLASS))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(ELSE))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(FALSE))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(FUN))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(FOR))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(IF))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(NIL))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(OR))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(PRINT))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(RETURN))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(SUPER))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(THIS))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(TRUE))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(VAR))
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(WHILE))
|
|
|
|
|
|
|
|
|
|
assertTrue(tokenTypeEntries.contains(EOF))
|
|
|
|
|
|
|
|
|
|
assertEquals(39, tokenTypeEntries.size)
|
|
|
|
|
}
|
|
|
|
|
}
|