use depyler_core::transpile_python_to_rust;
#[test]
#[ignore = "DEPYLER-STDLIB-ITERTOOLS: Not implemented yet - RED phase"]
fn test_zip_longest() {
let python = r#"
import itertools
def zip_with_fill(a: list, b: list) -> list:
return list(itertools.zip_longest(a, b, fillvalue=None))
"#;
let result = transpile_python_to_rust(python).expect("Transpilation failed");
assert!(result.contains("zip") && (result.contains("fillvalue") || result.contains("None")));
}
#[test]
#[ignore = "DEPYLER-STDLIB-ITERTOOLS: Not implemented yet - RED phase"]
fn test_filterfalse() {
let python = r#"
import itertools
def filter_not(items: list, pred) -> list:
return list(itertools.filterfalse(pred, items))
"#;
let result = transpile_python_to_rust(python).expect("Transpilation failed");
assert!(result.contains("filter") && result.contains("!"));
}
#[test]
#[ignore = "DEPYLER-STDLIB-ITERTOOLS: Not implemented yet - RED phase"]
fn test_starmap() {
let python = r#"
import itertools
def apply_pairs(func, pairs: list) -> list:
return list(itertools.starmap(func, pairs))
"#;
let result = transpile_python_to_rust(python).expect("Transpilation failed");
assert!(result.contains("map") && (result.contains("*") || result.contains("unpack")));
}