#[cfg(test)]
use jimtcl::{Interp, JimObject, JimResult, object::IntoJimObj};
#[cfg(test)]
fn test_sum<'jim>(interp: &'jim Interp, args: &[JimObject<'jim>]) -> JimResult<JimObject<'jim>> {
let mut total = 0i64;
for arg in &args[1..] {
let v = i64::try_from(arg)?;
total += v;
}
Ok(total.to_jim(interp))
}
#[test]
fn test_call_sum() -> JimResult<()> {
let interp = Interp::new()?;
interp.add_command("sum", test_sum)?;
let rv = interp.eval("sum 5 2 100")?;
let sum = i64::try_from(&rv)?;
assert_eq!(sum, 107);
Ok(())
}