| 19 | } |
| 20 | |
| 21 | @Test |
| 22 | public void testPunctuation() throws IOException { |
| 23 | assertThat(lex("{").getType()).isEqualTo(LEFT_BRACE); |
| 24 | assertThat(lex("}").getType()).isEqualTo(RIGHT_BRACE); |
| 25 | assertThat(lex("(").getType()).isEqualTo(LEFT_PAREN); |
| 26 | assertThat(lex(")").getType()).isEqualTo(RIGHT_PAREN); |
| 27 | assertThat(lex("[").getType()).isEqualTo(LEFT_BRACKET); |
| 28 | assertThat(lex("]").getType()).isEqualTo(RIGHT_BRACKET); |
| 29 | |
| 30 | assertThat(lex(".").getType()).isEqualTo(DOT); |
| 31 | assertThat(lex(";").getType()).isEqualTo(SEMICOLON); |
| 32 | assertThat(lex(",").getType()).isEqualTo(COMMA); |
| 33 | assertThat(lex(":").getType()).isEqualTo(COLON); |
| 34 | assertThat(lex("?").getType()).isEqualTo(QUESTION); |
| 35 | |
| 36 | assertThat(lex("<").getType()).isEqualTo(LESS_THAN); |
| 37 | assertThat(lex("<=").getType()).isEqualTo(LESS_THAN_EQUAL); |
| 38 | assertThat(lex("<<").getType()).isEqualTo(LEFT_SHIFT); |
| 39 | assertThat(lex("<<=").getType()).isEqualTo(LEFT_SHIFT_EQUALS); |
| 40 | assertThat(lex(">").getType()).isEqualTo(GREATER_THAN); |
| 41 | assertThat(lex(">=").getType()).isEqualTo(GREATER_THAN_EQUAL); |
| 42 | assertThat(lex(">>").getType()).isEqualTo(RIGHT_SHIFT); |
| 43 | assertThat(lex(">>>").getType()).isEqualTo(UNSIGNED_RIGHT_SHIFT); |
| 44 | assertThat(lex(">>=").getType()).isEqualTo(RIGHT_SHIFT_EQUALS); |
| 45 | assertThat(lex(">>>=").getType()).isEqualTo(UNSIGNED_RIGHT_SHIFT_EQUALS); |
| 46 | |
| 47 | assertThat(lex("&").getType()).isEqualTo(BITWISE_AND); |
| 48 | assertThat(lex("&=").getType()).isEqualTo(BITWISE_AND_EQUALS); |
| 49 | assertThat(lex("&&").getType()).isEqualTo(LOGICAL_AND); |
| 50 | |
| 51 | assertThat(lex("|").getType()).isEqualTo(BITWISE_OR); |
| 52 | assertThat(lex("|=").getType()).isEqualTo(BITWISE_OR_EQUALS); |
| 53 | assertThat(lex("||").getType()).isEqualTo(LOGICAL_OR); |
| 54 | |
| 55 | assertThat(lex("^").getType()).isEqualTo(BITWISE_XOR); |
| 56 | assertThat(lex("^=").getType()).isEqualTo(BITWISE_XOR_EQUALS); |
| 57 | |
| 58 | assertThat(lex("~").getType()).isEqualTo(INVERSION); |
| 59 | |
| 60 | assertThat(lex("+").getType()).isEqualTo(PLUS); |
| 61 | assertThat(lex("+=").getType()).isEqualTo(PLUS_EQUALS); |
| 62 | assertThat(lex("++").getType()).isEqualTo(PLUS_PLUS); |
| 63 | |
| 64 | assertThat(lex("-").getType()).isEqualTo(MINUS); |
| 65 | assertThat(lex("-=").getType()).isEqualTo(MINUS_EQUALS); |
| 66 | assertThat(lex("--").getType()).isEqualTo(MINUS_MINUS); |
| 67 | |
| 68 | assertThat(lex("*").getType()).isEqualTo(MULTIPLY); |
| 69 | assertThat(lex("*=").getType()).isEqualTo(MULTIPLY_EQUALS); |
| 70 | |
| 71 | //assertThat(lex("/").getType()).isEqualTo(DIVIDE); |
| 72 | //assertThat(lex("/=").getType()).isEqualTo(DIVIDE_EQUALS); |
| 73 | |
| 74 | assertThat(lex("%").getType()).isEqualTo(MODULO); |
| 75 | assertThat(lex("%=").getType()).isEqualTo(MODULO_EQUALS); |
| 76 | } |
| 77 | |
| 78 | @Test |