Refactor tests.
This commit is contained in:
@@ -1,68 +1,66 @@
|
||||
use rhai::Engine;
|
||||
use rhai::{Engine, EvalAltResult};
|
||||
|
||||
#[test]
|
||||
fn test_or_equals() {
|
||||
fn test_or_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 16; x |= 74; x"), Ok(90));
|
||||
assert_eq!(engine.eval::<bool>("let x = true; x |= false; x"), Ok(true));
|
||||
assert_eq!(engine.eval::<bool>("let x = false; x |= true; x"), Ok(true));
|
||||
assert_eq!(engine.eval::<i64>("let x = 16; x |= 74; x")?, 90);
|
||||
assert_eq!(engine.eval::<bool>("let x = true; x |= false; x")?, true);
|
||||
assert_eq!(engine.eval::<bool>("let x = false; x |= true; x")?, true);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_and_equals() {
|
||||
fn test_and_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 16; x &= 31; x"), Ok(16));
|
||||
assert_eq!(
|
||||
engine.eval::<bool>("let x = true; x &= false; x"),
|
||||
Ok(false)
|
||||
);
|
||||
assert_eq!(
|
||||
engine.eval::<bool>("let x = false; x &= true; x"),
|
||||
Ok(false)
|
||||
);
|
||||
assert_eq!(engine.eval::<bool>("let x = true; x &= true; x"), Ok(true));
|
||||
assert_eq!(engine.eval::<i64>("let x = 16; x &= 31; x")?, 16);
|
||||
assert_eq!(engine.eval::<bool>("let x = true; x &= false; x")?, false);
|
||||
assert_eq!(engine.eval::<bool>("let x = false; x &= true; x")?, false);
|
||||
assert_eq!(engine.eval::<bool>("let x = true; x &= true; x")?, true);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_xor_equals() {
|
||||
fn test_xor_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 90; x ^= 12; x"), Ok(86));
|
||||
assert_eq!(engine.eval::<i64>("let x = 90; x ^= 12; x")?, 86);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_multiply_equals() {
|
||||
fn test_multiply_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 2; x *= 3; x"), Ok(6));
|
||||
assert_eq!(engine.eval::<i64>("let x = 2; x *= 3; x")?, 6);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_divide_equals() {
|
||||
fn test_divide_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 6; x /= 2; x"), Ok(3));
|
||||
assert_eq!(engine.eval::<i64>("let x = 6; x /= 2; x")?, 3);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_left_shift_equals() {
|
||||
fn test_left_shift_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 9; x >>=1; x"), Ok(4));
|
||||
assert_eq!(engine.eval::<i64>("let x = 9; x >>=1; x")?, 4);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_right_shift_equals() {
|
||||
fn test_right_shift_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 4; x<<= 2; x"), Ok(16));
|
||||
assert_eq!(engine.eval::<i64>("let x = 4; x<<= 2; x")?, 16);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_modulo_equals() {
|
||||
fn test_modulo_equals() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = 10; x %= 4; x"), Ok(2));
|
||||
assert_eq!(engine.eval::<i64>("let x = 10; x %= 4; x")?, 2);
|
||||
Ok(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user