@Test
public void shouldParseGrammarWithOneRequiredToken() {

    pattern = parser.parse(TYPE, "BOOLEAN");
    assertThat(pattern).isNotNull();
    type = pattern.match(text("BOOLEAN"));
    assertThat(type.arrayDimensions()).isNull();
    assertThat(type.length()).isEqualTo(-1);
    assertThat(type.scale()).isEqualTo(-1);
    assertThat(type.name()).isEqualTo("BOOLEAN");
    assertThat(type.expression()).isEqualTo("BOOLEAN");
    assertThat(type.jdbcType()).isEqualTo(TYPE);
    type = pattern.match(text("boolean"));
    assertThat(type.arrayDimensions()).isNull();
    assertThat(type.length()).isEqualTo(-1);
    assertThat(type.scale()).isEqualTo(-1);
    assertThat(type.name()).isEqualTo("BOOLEAN"); // matches the grammar
    assertThat(type.expression()).isEqualTo("BOOLEAN"); // matches the grammar
    assertThat(type.jdbcType()).isEqualTo(TYPE);
}