From 8c0ac19fa848aff00e0402043f0fbdc74efe8e9c Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 30 Dec 2015 23:30:50 -0800 Subject: [PATCH] Add full test Test evaluate, tokenize, parser all at once --- src/evaluator.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/evaluator.rs b/src/evaluator.rs index 303e63a..40ee681 100644 --- a/src/evaluator.rs +++ b/src/evaluator.rs @@ -73,8 +73,21 @@ fn reduce_step(ast: AST) -> EvaluatorResult { } } - pub fn evaluate(ast: AST) -> String { let ev = Evaluator { ast: ast }; ev.run() } + +#[cfg(test)] +mod tests { + use tokenizer::tokenize; + use parser::{parse, AST}; + use super::evaluate; + + #[test] + fn test_basic_evaluation() { + let input = "1 + 2\n"; + let output = evaluate(parse(tokenize(input)).unwrap()); + assert_eq!(output, "3"); + } +}