From 045313f0769f5eb2c2057c00eaca8945f9650ead Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Fri, 15 Mar 2019 17:18:20 +0200 Subject: [PATCH] More test cases --- src/lib.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index e8bc8c3..8dbdcc8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,13 +16,23 @@ pub fn eval(string: &str) -> Result { #[cfg(test)] mod test { use crate::{eval, value::Value}; + use error::Error; #[test] - fn test_simple_examples() { + fn test_unary_examples() { assert_eq!(eval("3"), Ok(Value::Number(3.0))); + assert_eq!(eval("true"), Ok(Value::Boolean(true))); + assert_eq!(eval("false"), Ok(Value::Boolean(false))); + assert_eq!(eval("blub"), Err(Error::IdentifierNotFound)); + } + + #[test] + fn test_binary_examples() { assert_eq!(eval("1+3"), Ok(Value::Number(4.0))); assert_eq!(eval("3+1"), Ok(Value::Number(4.0))); assert_eq!(eval("3-5"), Ok(Value::Number(-2.0))); assert_eq!(eval("5-3"), Ok(Value::Number(2.0))); + assert_eq!(eval("5 / 4"), Ok(Value::Number(1.25))); + assert_eq!(eval("5 *3"), Ok(Value::Number(15.0))); } }