#[cfg(test)]
mod tests {
#[test]
fn main_test() {
use std::collections::LinkedList;
use rsedn::{
lexer::{source::Source, token::Token},
parser::{self, form::FormKind},
};
let mut source: Source = "(defn add [a b] (+ a b))".into();
let lexemes = source.lex();
let tokens = lexemes
.into_iter()
.map(|lexeme| Token::parse(&source, lexeme)) .map(|token| token.unwrap()) .collect::<LinkedList<_>>();
let mut token_stream = tokens.iter(); let form = parser::parse_form(&mut token_stream).unwrap().unwrap();
assert!(matches!(form.kind, FormKind::List(_)));
}
}