From b5f76deb9830d08dd804e7d1a2edbcdc706bed78 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Tue, 2 May 2017 21:45:10 -0700 Subject: [PATCH] Add some single token tests for the tokens we have --- lexer/tests/single_tokens.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lexer/tests/single_tokens.rs diff --git a/lexer/tests/single_tokens.rs b/lexer/tests/single_tokens.rs new file mode 100644 index 0000000..bbfc724 --- /dev/null +++ b/lexer/tests/single_tokens.rs @@ -0,0 +1,30 @@ +/* lexer/tests/single_token.rs + * Eryn Wells + */ + +//! Tests that single tokens are matches by the lexer. + +extern crate sibillexer; + +use sibillexer::{Lexer, Token}; + +#[test] +fn lexer_finds_left_paren() { + let mut lex = Lexer::new("(".chars()); + assert_eq!(lex.next(), Some(Ok(Token::LeftParen))); + assert_eq!(lex.next(), None); +} + +#[test] +fn lexer_finds_right_paren() { + let mut lex = Lexer::new(")".chars()); + assert_eq!(lex.next(), Some(Ok(Token::RightParen))); + assert_eq!(lex.next(), None); +} + +#[test] +fn lexer_finds_id() { + let mut lex = Lexer::new("abc".chars()); + assert_eq!(lex.next(), Some(Ok(Token::Id("abc".to_string())))); + assert_eq!(lex.next(), None); +}