use rhai::Engine; #[test] fn test_power_of() { let mut engine = Engine::new(); assert_eq!(engine.eval::("2 ~ 3"), Ok(8)); assert_eq!(engine.eval::("(-2 ~ 3)"), Ok(-8)); assert_eq!(engine.eval::("2.2 ~ 3.3"), Ok(13.489468760533386_f64)); assert_eq!(engine.eval::("2.0~-2.0"), Ok(0.25_f64)); assert_eq!(engine.eval::("(-2.0~-2.0)"), Ok(0.25_f64)); assert_eq!(engine.eval::("(-2.0~-2)"), Ok(0.25_f64)); assert_eq!(engine.eval::("4~3"), Ok(64)); } #[test] fn test_power_of_equals() { let mut engine = Engine::new(); assert_eq!(engine.eval::("let x = 2; x ~= 3; x"), Ok(8)); assert_eq!(engine.eval::("let x = -2; x ~= 3; x"), Ok(-8)); assert_eq!( engine.eval::("let x = 2.2; x ~= 3.3; x"), Ok(13.489468760533386_f64) ); assert_eq!( engine.eval::("let x = 2.0; x ~= -2.0; x"), Ok(0.25_f64) ); assert_eq!( engine.eval::("let x = -2.0; x ~= -2.0; x"), Ok(0.25_f64) ); assert_eq!(engine.eval::("let x = -2.0; x ~= -2; x"), Ok(0.25_f64)); assert_eq!(engine.eval::("let x =4; x ~= 3; x"), Ok(64)); }