use dust_lang::*; #[test] fn r#if() { assert_eq!( interpret("if true { 'true' }"), Ok(Value::string("true".to_string())) ); } #[test] fn if_else() { assert_eq!( interpret("if false { 1 } else { 2 }"), Ok(Value::Integer(2)) ); assert_eq!( interpret("if true { 1.0 } else { 42.0 }"), Ok(Value::Float(1.0)) ); } #[test] fn if_else_else_if_else() { assert_eq!( interpret( " if false { 'no' } else if 1 + 1 == 3 { 'nope' } else { 'ok' } " ), Ok(Value::string("ok".to_string())) ); } #[test] fn if_else_if_else_if_else_if_else() { assert_eq!( interpret( " if false { 'no' } else if 1 + 1 == 1 { 'nope' } else if 9 / 2 == 4 { 'nope' } else if 'foo' == 'bar' { 'nope' } else { 'ok' } " ), Ok(Value::string("ok".to_string())) ); }