use super::*;
#[test]
fn test_type_of_float_r126() {
let result = eval("type_of(3.14)");
assert!(result.contains("float") || result.contains("Float") || result.contains("f64"));
}
#[test]
fn test_type_of_array_r126() {
let result = eval("type_of([1, 2, 3])");
assert!(
result.contains("array")
|| result.contains("Array")
|| result.contains("Vec")
|| result.contains("list")
);
}
#[test]
fn test_range_single_arg_r126() {
let result = eval("range(5)");
assert!(result.contains("[") && result.contains("]"));
}
#[test]
fn test_range_two_args_r126() {
let result = eval("range(1, 5)");
assert!(result.contains("[") && result.contains("]"));
}
#[test]
fn test_range_three_args_r126() {
let result = eval("range(0, 10, 2)");
assert!(result.contains("[") && result.contains("]"));
}
#[test]
fn test_push_array_r126() {
let result = eval("push([1, 2], 3)");
assert!(result.contains("3"));
}
#[test]
fn test_reverse_array_r126() {
let result = eval("reverse([1, 2, 3])");
assert!(result.contains("3") && result.contains("1"));
}
#[test]
fn test_reverse_string_r126() {
let result = eval("reverse(\"hello\")");
assert!(result.contains("olleh"));
}
#[test]
fn test_sort_array_r126() {
let result = eval("sort([3, 1, 2])");
assert!(result.contains("[1") || result.contains("1,"));
}
#[test]
fn test_assert_true_r126() {
let result = eval("assert(true)");
assert!(
result.contains("nil")
|| result.contains("()")
|| result.is_empty()
|| result.contains("Nil")
);
}
#[test]
fn test_assert_eq_same_r126() {
let result = eval("assert_eq(42, 42)");
assert!(
result.contains("nil")
|| result.contains("()")
|| result.is_empty()
|| result.contains("Nil")
);
}
#[test]
fn test_print_string_r126() {
let _result = eval("print(\"test\")");
}
#[test]
fn test_println_string_r126() {
let _result = eval("println(\"test\")");
}
#[test]
fn test_dbg_int_r126() {
let result = eval("dbg(42)");
assert!(result.contains("42"));
}
#[test]
fn test_dbg_string_r126() {
let result = eval("dbg(\"hello\")");
assert!(result.contains("hello"));
}
#[test]
fn test_dbg_array_r126() {
let result = eval("dbg([1, 2, 3])");
assert!(result.contains("1") && result.contains("2") && result.contains("3"));
}
#[test]
fn test_str_int_r128() {
let result = eval("str(42)");
assert!(result.contains("42"));
}
#[test]
fn test_str_float_r128() {
let result = eval("str(3.14)");
assert!(result.contains("3.14"));
}
#[test]
fn test_str_bool_r128() {
let result = eval("str(true)");
assert!(result.contains("true"));
}
#[test]
fn test_int_from_string_r128() {
let result = eval("int(\"42\")");
assert!(result.contains("42"));
}
#[test]
fn test_int_from_float_r128() {
let result = eval("int(3.9)");
assert!(result.contains("3"));
}
#[test]
fn test_float_from_int_r128() {
let result = eval("float(42)");
assert!(result.contains("42"));
}
#[test]
fn test_float_from_string_r128() {
let result = eval("float(\"3.14\")");
assert!(result.contains("3.14"));
}
#[test]
fn test_bool_from_int_true_r128() {
let result = eval("bool(1)");
assert!(result.contains("true"));
}
#[test]
fn test_bool_from_int_false_r128() {
let result = eval("bool(0)");
assert!(result.contains("false"));
}
#[test]
fn test_bool_from_string_r128() {
let result = eval("bool(\"hello\")");
assert!(result.contains("true"));
}
#[test]
fn test_bool_from_empty_string_r128() {
let result = eval("bool(\"\")");
assert!(result.contains("false"));
}
#[test]
fn test_type_of_int_r128() {
let result = eval("type_of(42)");
assert!(result.contains("int") || result.contains("Integer"));
}
#[test]
fn test_type_of_float_r128() {
let result = eval("type_of(3.14)");
assert!(result.contains("float") || result.contains("Float"));
}
#[test]
fn test_type_of_string_r128() {
let result = eval("type_of(\"hello\")");
assert!(result.contains("string") || result.contains("String"));
}
#[test]
fn test_type_of_bool_r128() {
let result = eval("type_of(true)");
assert!(result.contains("bool") || result.contains("Bool"));
}
#[test]
fn test_type_of_array_r128() {
let result = eval("type_of([1, 2, 3])");
assert!(result.contains("array") || result.contains("Array") || result.contains("list"));
}
#[test]
fn test_is_nil_true_r128() {
let result = eval("is_nil(nil)");
assert!(result.contains("true"));
}
#[test]
fn test_is_nil_false_r128() {
let result = eval("is_nil(42)");
assert!(result.contains("false"));
}
#[test]
fn test_sqrt_zero_r128() {
let result = eval("sqrt(0)");
assert!(result.contains("0"));
}
#[test]
fn test_sqrt_perfect_square_r128() {
let result = eval("sqrt(144)");
assert!(result.contains("12"));
}
#[test]
fn test_pow_negative_exp_r128() {
let result = eval("pow(2, -1)");
assert!(result.contains("0.5"));
}
#[test]
fn test_pow_fractional_exp_r128() {
let result = eval("pow(4.0, 0.5)");
assert!(result.contains("2"));
}
#[test]
fn test_log_one_r128() {
let result = eval("log(1.0)");
assert!(result.contains("0"));
}
#[test]
fn test_log10_one_r128() {
let result = eval("log10(1.0)");
assert!(result.contains("0"));
}
#[test]
fn test_log10_ten_r128() {
let result = eval("log10(10.0)");
assert!(result.contains("1"));
}
#[test]
fn test_exp_zero_r128() {
let result = eval("exp(0.0)");
assert!(result.contains("1"));
}
#[test]
fn test_exp_one_r128() {
let result = eval("exp(1.0)");
let val: f64 = result.parse().unwrap_or(0.0);
assert!((val - 2.718).abs() < 0.01);
}
#[test]
fn test_sin_pi_half_r128() {
let result = eval("sin(1.5707963267948966)"); let val: f64 = result.parse().unwrap_or(0.0);
assert!((val - 1.0).abs() < 0.001);
}
#[test]
fn test_cos_pi_r128() {
let result = eval("cos(3.141592653589793)"); let val: f64 = result.parse().unwrap_or(0.0);
assert!((val - (-1.0)).abs() < 0.001);
}
#[test]
fn test_floor_negative_r128() {
let result = eval("floor(-2.7)");
assert!(result.contains("-3"));
}
#[test]
fn test_ceil_negative_r128() {
let result = eval("ceil(-2.3)");
assert!(result.contains("-2"));
}
#[test]
fn test_round_half_r128() {
let result = eval("round(2.5)");
let val: i64 = result.parse().unwrap_or(-1);
assert!(val == 2 || val == 3);
}
#[test]
fn test_round_negative_r128() {
let result = eval("round(-2.5)");
let val: i64 = result.parse().unwrap_or(0);
assert!(val == -2 || val == -3);
}
#[test]
fn test_min_floats_r128() {
let result = eval("min(2.5, 3.5)");
assert!(result.contains("2.5"));
}
#[test]
fn test_max_floats_r128() {
let result = eval("max(2.5, 3.5)");
assert!(result.contains("3.5"));
}
#[test]
fn test_min_mixed_r128() {
let result = eval("min(5, 3.5)");
assert!(result.contains("3.5"));
}
#[test]
fn test_max_mixed_r128() {
let result = eval("max(5, 3.5)");
assert!(result.contains("5"));
}
#[test]
fn test_range_single_arg_r128() {
let result = eval("range(5)");
assert!(result.contains("0") && result.contains("4"));
}
#[test]
fn test_range_two_args_r128() {
let result = eval("range(2, 5)");
assert!(result.contains("2") && result.contains("4"));
}
#[test]
fn test_range_with_step_r128() {
let result = eval("range(0, 10, 2)");
assert!(result.contains("0") && result.contains("2") && result.contains("8"));
}
#[test]
fn test_enumerate_empty_r128() {
let result = eval("enumerate([])");
assert!(result.contains("[]") || result.is_empty() || result.contains("Array"));
}
#[test]
fn test_zip_unequal_r128() {
let result = eval("zip([1, 2, 3], [\"a\", \"b\"])");
assert!(!result.is_empty());
}
#[test]
fn test_parse_int_positive_r128() {
let result = eval("parse_int(\"123\")");
assert!(result.contains("123"));
}
#[test]
fn test_parse_int_negative_r128() {
let result = eval("parse_int(\"-456\")");
assert!(result.contains("-456") || result.contains("456"));
}
#[test]
fn test_parse_float_positive_r128() {
let result = eval("parse_float(\"3.14159\")");
assert!(result.contains("3.14"));
}
#[test]
fn test_parse_float_negative_r128() {
let result = eval("parse_float(\"-2.5\")");
assert!(result.contains("-2.5") || result.contains("2.5"));
}
#[test]
fn test_timestamp_r128() {
let result = eval("timestamp()");
let val: i64 = result.parse().unwrap_or(-1);
assert!(val > 0); }
#[test]
fn test_to_string_nil_r128() {
let result = eval("to_string(nil)");
assert!(result.contains("nil") || result.contains("Nil"));
}
#[test]
fn test_to_string_array_r128() {
let result = eval("to_string([1, 2, 3])");
assert!(result.contains("1") && result.contains("2") && result.contains("3"));
}
#[test]
fn test_len_unicode_r128() {
let result = eval("len(\"日本語\")");
assert!(result.contains("9"));
}
#[test]
fn test_len_emoji_r128() {
let result = eval("len(\"🎉\")");
let val: i64 = result.parse().unwrap_or(-1);
assert!(val >= 1);
}
#[test]
fn test_sorted_empty_r128() {
let result = eval("sorted([])");
assert!(result.contains("[]") || result.is_empty());
}
#[test]
fn test_reversed_empty_r128() {
let result = eval("reversed([])");
assert!(result.contains("[]") || result.is_empty());
}
#[test]
fn test_sorted_single_r128() {
let result = eval("sorted([42])");
assert!(result.contains("42"));
}
#[test]
fn test_reversed_single_r128() {
let result = eval("reversed([42])");
assert!(result.contains("42"));
}
#[test]
fn test_utc_now() {
let result = try_eval("Utc::now()");
assert!(result.is_some() || result.is_none());
}
#[test]
fn test_dataframe_new() {
let result = try_eval("DataFrame::new()");
assert!(result.is_some());
}
#[test]
fn test_dataframe_from_csv_string() {
let result = try_eval("DataFrame::from_csv_string(\"name,age\\nAlice,30\\nBob,25\")");
if let Some(r) = result {
assert!(r.contains("Alice") || r.contains("name") || r.contains("DataFrame"));
}
}
#[test]
fn test_dataframe_from_csv_empty() {
let result = try_eval("DataFrame::from_csv_string(\"\")");
assert!(result.is_some() || result.is_none());
}
#[test]
fn test_dataframe_from_json() {
let result =
try_eval("DataFrame::from_json(\"[{\\\"name\\\": \\\"Alice\\\", \\\"age\\\": 30}]\")");
if let Some(r) = result {
assert!(r.contains("Alice") || r.contains("name") || r.contains("DataFrame"));
}
}
#[test]
fn test_dataframe_from_json_empty_array() {
let result = try_eval("DataFrame::from_json(\"[]\")");
assert!(result.is_some() || result.is_none());
}
#[test]
fn test_path_join_many() {
let result = try_eval("path_join_many([\"/home\", \"user\", \"docs\"])");
if let Some(r) = result {
assert!(r.contains("home") && r.contains("user") && r.contains("docs"));
}
}
#[test]
fn test_path_with_extension() {
let result = try_eval("path_with_extension(\"/home/file.txt\", \"md\")");
if let Some(r) = result {
assert!(r.contains("md"));
}
}
#[test]
fn test_path_with_file_name() {
let result = try_eval("path_with_file_name(\"/home/file.txt\", \"new.txt\")");
if let Some(r) = result {
assert!(r.contains("new.txt"));
}
}
#[test]
fn test_path_components() {
let result = try_eval("path_components(\"/home/user/docs\")");
if let Some(r) = result {
assert!(r.contains("home") || r.contains("user"));
}
}
#[test]
fn test_path_normalize() {
let result = try_eval("path_normalize(\"/home/user/../user/./docs\")");
if let Some(r) = result {
assert!(r.contains("home"));
}
}
#[test]
fn test_path_canonicalize() {
let result = try_eval("path_canonicalize(env_temp_dir())");
if let Some(r) = result {
assert!(!r.is_empty());
}
}
#[test]
fn test_env_args() {
let result = try_eval("env_args()");
if let Some(r) = result {
assert!(r.contains("[") || r.contains("Array"));
}
}
#[test]
fn test_env_vars() {
let result = try_eval("env_vars()");
if let Some(r) = result {
assert!(!r.is_empty());
}
}
#[test]
fn test_env_set_and_get_var() {
let _ = try_eval("env_set_var(\"RUCHY_TEST_VAR\", \"test_value\")");
let result = try_eval("env_var(\"RUCHY_TEST_VAR\")");
if let Some(r) = result {
assert!(r.contains("test_value") || r.contains("Ok"));
}
let _ = try_eval("env_remove_var(\"RUCHY_TEST_VAR\")");
}
#[test]
fn test_env_remove_var() {
let _ = try_eval("env_set_var(\"RUCHY_TEMP_VAR\", \"temp\")");
let result = try_eval("env_remove_var(\"RUCHY_TEMP_VAR\")");
assert!(result.is_some());
}
#[test]
fn test_fs_exists_temp_dir() {
let result = try_eval("fs_exists(env_temp_dir())");
if let Some(r) = result {
assert!(r.contains("true"));
}
}
#[test]
fn test_fs_exists_nonexistent() {
let result = try_eval("fs_exists(\"/nonexistent/path/12345\")");
if let Some(r) = result {
assert!(r.contains("false"));
}
}
#[test]
fn test_fs_is_file() {
let result = try_eval("fs_is_file(\"/nonexistent/file.txt\")");
if let Some(r) = result {
assert!(r.contains("false"));
}
}
#[test]
fn test_fs_read_dir_temp() {
let result = try_eval("fs_read_dir(env_temp_dir())");
if let Some(r) = result {
assert!(r.contains("[") || r.contains("Array"));
}
}
#[test]
fn test_fs_metadata_temp_dir() {
let result = try_eval("fs_metadata(env_temp_dir())");
if let Some(r) = result {
assert!(r.contains("is_dir") || r.contains("size"));
}
}
#[test]
fn test_walk_temp_dir() {
let result = try_eval("walk(env_temp_dir())");
if let Some(r) = result {
assert!(r.contains("[") || r.contains("path"));
}
}
#[test]
fn test_glob_pattern() {
let result = try_eval("glob(path_join(env_temp_dir(), \"*\"))");
if let Some(r) = result {
assert!(r.contains("[") || r.contains("Array"));
}
}
#[test]
fn test_println_empty() {
let result = eval("println()");
assert!(result.contains("nil") || result.is_empty() || result.contains("()"));
}
#[test]
fn test_println_format_string() {
let result = eval("println(\"Value: {}\", 42)");
assert!(result.contains("nil") || result.is_empty());
}
#[test]
fn test_println_multiple_args() {
let result = eval("println(\"a\", \"b\", \"c\")");
assert!(result.contains("nil") || result.is_empty());
}
#[test]
fn test_print_multiple_args() {
let result = eval("print(1, 2, 3)");
assert!(result.contains("nil") || result.is_empty());
}
#[test]
fn test_dbg_multiple_values() {
let result = eval("dbg(1, 2, 3)");
assert!(result.contains("1") || result.contains("["));
}
#[test]
fn test_range_negative_step() {
let result = try_eval("range(10, 0, -2)");
if let Some(r) = result {
assert!(r.contains("10") || r.contains("8"));
}
}
#[test]
fn test_len_tuple() {
let result = try_eval("len((1, 2, 3))");
if let Some(r) = result {
assert!(r.contains("3"));
}
}
#[test]
fn test_sort_floats() {
let result = eval("sort([3.5, 1.2, 2.8])");
assert!(result.contains("1.2"));
}
#[test]
fn test_sort_strings() {
let result = eval("sort([\"banana\", \"apple\", \"cherry\"])");
assert!(result.contains("apple"));
}
#[test]
fn test_pop_empty_array() {
let result = eval("pop([])");
let _ = result;
}
#[test]
fn test_json_stringify_array() {
let result = eval("json_stringify([1, 2, 3])");
assert!(result.contains("1") && result.contains("2") && result.contains("3"));
}
#[test]
fn test_json_stringify_nil() {
let result = eval("json_stringify(nil)");
assert!(result.contains("null") || result.contains("nil"));
}
#[test]
fn test_sleep_short() {
let result = eval("sleep(1)"); assert!(result.contains("nil") || result.is_empty());
}
#[test]
fn test_sleep_float() {
let result = eval("sleep(1.5)"); assert!(result.contains("nil") || result.is_empty());
}
#[test]
fn test_hash_string() {
let result = eval("hash(\"hello\")");
assert!(!result.is_empty());
}
#[test]
fn test_hash_int() {
let result = eval("hash(42)");
assert!(!result.is_empty());
}
#[test]
fn test_string_join() {
let result = try_eval("[\"a\", \"b\", \"c\"].join(\",\")");
if let Some(r) = result {
assert!(r.contains("a,b,c") || r.contains("a"));
}
}
#[test]
fn test_take_more_than_length() {
let result = eval("take([1, 2], 10)");
assert!(result.contains("1") && result.contains("2"));
}
#[test]
fn test_drop_more_than_length() {
let result = eval("drop([1, 2], 10)");
let _ = result;
}
#[test]
fn test_len_empty_dataframe() {
let df = try_eval("DataFrame::from_csv_string(\"\")");
if df.is_some() {
let result = try_eval("len(DataFrame::from_csv_string(\"\"))");
if let Some(r) = result {
assert!(r.contains("0") || r.is_empty());
}
}
}
#[test]
fn test_fs_write_and_read() {
let temp_file = format!(
"{}/ruchy_test_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
let write_code = format!("fs_write(\"{}\", \"hello world\")", temp_file);
let _ = try_eval(&write_code);
let read_code = format!("fs_read(\"{}\")", temp_file);
let result = try_eval(&read_code);
if let Some(r) = result {
assert!(r.contains("hello") || r.contains("Ok"));
}
let _ = std::fs::remove_file(&temp_file);
}
#[test]
fn test_fs_create_and_remove_dir() {
let temp_dir = format!(
"{}/ruchy_test_dir_{}",
std::env::temp_dir().display(),
std::process::id()
);
let create_code = format!("fs_create_dir(\"{}\")", temp_dir);
let create_result = try_eval(&create_code);
assert!(create_result.is_some());
let exists_code = format!("fs_exists(\"{}\")", temp_dir);
let exists_result = try_eval(&exists_code);
if let Some(r) = exists_result {
assert!(r.contains("true"));
}
let _ = std::fs::remove_dir(&temp_dir);
}
#[test]
fn test_read_file_unwrapped() {
let temp_file = format!(
"{}/ruchy_read_test_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
std::fs::write(&temp_file, "test content").ok();
let read_code = format!("read_file(\"{}\")", temp_file);
let result = try_eval(&read_code);
if let Some(r) = result {
assert!(r.contains("test content"));
}
let _ = std::fs::remove_file(&temp_file);
}
#[test]
fn test_append_file() {
let temp_file = format!(
"{}/ruchy_append_test_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
std::fs::write(&temp_file, "first").ok();
let append_code = format!("append_file(\"{}\", \" second\")", temp_file);
let _ = try_eval(&append_code);
let content = std::fs::read_to_string(&temp_file).unwrap_or_default();
assert!(content.contains("first") && content.contains("second"));
let _ = std::fs::remove_file(&temp_file);
}
#[test]
fn test_walk_with_options_max_depth() {
let result = try_eval("walk_with_options(env_temp_dir(), {max_depth: 1})");
if let Some(r) = result {
assert!(r.contains("[") || r.contains("path"));
}
}
#[test]
fn test_walk_with_options_min_depth() {
let result = try_eval("walk_with_options(env_temp_dir(), {min_depth: 0})");
if let Some(r) = result {
assert!(r.contains("[") || r.contains("path"));
}
}
#[test]
fn test_walk_parallel() {
let result = try_eval("walk_parallel(env_temp_dir())");
if let Some(r) = result {
assert!(r.contains("[") || r.contains("path"));
}
}
#[test]
fn test_compute_hash_file() {
let temp_file = format!(
"{}/ruchy_hash_test_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
std::fs::write(&temp_file, "hash me").ok();
let hash_code = format!("compute_hash(\"{}\")", temp_file);
let result = try_eval(&hash_code);
if let Some(r) = result {
assert!(r.len() >= 30 || r.contains("error"));
}
let _ = std::fs::remove_file(&temp_file);
}
#[test]
fn test_fs_copy() {
let temp_src = format!(
"{}/ruchy_copy_src_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
let temp_dst = format!(
"{}/ruchy_copy_dst_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
std::fs::write(&temp_src, "copy me").ok();
let copy_code = format!("fs_copy(\"{}\", \"{}\")", temp_src, temp_dst);
let result = try_eval(©_code);
assert!(result.is_some());
let content = std::fs::read_to_string(&temp_dst).unwrap_or_default();
assert!(content.contains("copy me"));
let _ = std::fs::remove_file(&temp_src);
let _ = std::fs::remove_file(&temp_dst);
}
#[test]
fn test_fs_rename() {
let temp_src = format!(
"{}/ruchy_rename_src_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
let temp_dst = format!(
"{}/ruchy_rename_dst_{}.txt",
std::env::temp_dir().display(),
std::process::id()
);
std::fs::write(&temp_src, "rename me").ok();
let rename_code = format!("fs_rename(\"{}\", \"{}\")", temp_src, temp_dst);
let result = try_eval(&rename_code);
assert!(result.is_some());
let _ = std::fs::remove_file(&temp_dst);
}
#[test]
fn test_sqrt_error_type() {
let result = try_eval("sqrt(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_pow_error_type() {
let result = try_eval("pow(\"a\", \"b\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_min_error_type() {
let result = try_eval("min(\"a\", \"b\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_max_error_type() {
let result = try_eval("max(\"a\", \"b\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_floor_error_type() {
let result = try_eval("floor(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_ceil_error_type() {
let result = try_eval("ceil(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_round_error_type() {
let result = try_eval("round(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_sin_error_type() {
let result = try_eval("sin(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_cos_error_type() {
let result = try_eval("cos(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_tan_error_type() {
let result = try_eval("tan(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_log_error_type() {
let result = try_eval("log(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_log10_error_type() {
let result = try_eval("log10(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_exp_error_type() {
let result = try_eval("exp(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_abs_error_type() {
let result = try_eval("abs(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_len_error_type() {
let result = try_eval("len(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_range_error_type() {
let result = try_eval("range(\"a\", \"b\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_range_zero_step() {
let result = try_eval("range(0, 10, 0)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_reverse_error_type() {
let result = try_eval("reverse(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_push_error_type() {
let result = try_eval("push(42, 1)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_pop_error_type() {
let result = try_eval("pop(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_sort_error_type() {
let result = try_eval("sort(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_zip_error_type() {
let result = try_eval("zip(42, [1])");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_enumerate_error_type() {
let result = try_eval("enumerate(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_sleep_error_type() {
let result = try_eval("sleep(\"not a number\")");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_path_join_error_type() {
let result = try_eval("path_join(42, 43)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_env_var_error_type() {
let result = try_eval("env_var(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_fs_read_error_type() {
let result = try_eval("fs_read(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_fs_write_error_type() {
let result = try_eval("fs_write(42, 43)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_fs_exists_error_type() {
let result = try_eval("fs_exists(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_fs_is_file_error_type() {
let result = try_eval("fs_is_file(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_fs_metadata_error_type() {
let result = try_eval("fs_metadata(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_walk_error_type() {
let result = try_eval("walk(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}
#[test]
fn test_glob_error_type() {
let result = try_eval("glob(42)");
assert!(result.is_none() || result.unwrap_or_default().contains("error"));
}