From ae63ce8e20573b73183dc23a6042d33400cffa76 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 26 Aug 2018 17:48:22 -0700 Subject: [PATCH] [parser] Add a test for parsing bools Related to #13 --- parser/src/lib.rs | 14 -------------- parser/tests/single_item.rs | 11 ++++++++++- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/parser/src/lib.rs b/parser/src/lib.rs index 7bd93e5..1fa8032 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -141,17 +141,3 @@ impl Iterator for Parser where T: Iterator { out } } - -#[cfg(test)] -mod tests { - use sibillexer::Lexer; - use sibiltypes::Pair; - use super::Parser; - - #[test] - fn it_works() { - let lexer = Lexer::new("(ab)".chars()); - let mut parser = Parser::new(lexer); - let obj = parser.next().unwrap().unwrap(); - } -} diff --git a/parser/tests/single_item.rs b/parser/tests/single_item.rs index ce3984c..451960d 100644 --- a/parser/tests/single_item.rs +++ b/parser/tests/single_item.rs @@ -11,7 +11,7 @@ extern crate sibiltypes; use sibillexer::{Lex, Token}; use sibillexer::Result as LexerResult; use sibilparser::Parser; -use sibiltypes::{Obj, Pair, Sym}; +use sibiltypes::{Bool, Obj, Pair, Sym}; #[test] fn single_sym() { @@ -30,3 +30,12 @@ fn single_pair() { assert_eq!(parser.next(), Some(Ok(Obj::new(Pair::empty())))); assert_eq!(parser.next(), None); } + +#[test] +fn single_bool() { + let lex: LexerResult = Ok(Lex::new(Token::Bool(true), "#t", 0, 0)); + let tokens = vec![lex].into_iter(); + let mut parser = Parser::new(tokens); + assert_eq!(parser.next(), Some(Ok(Obj::new(Bool::True)))); + assert_eq!(parser.next(), None); +}