use assert2::assert;
use idakit::kernel::Ida;
use idakit_sys::get_batch;
use rstest::rstest;
#[test]
fn bring_up_sets_headless_env() {
Ida::run(|_ida| ()).expect("kernel init failed");
assert!(std::env::var("TVHEADLESS").as_deref() == Ok("1"));
}
#[test]
fn batch_omitted_defaults_on() {
Ida::new().run(|_ida| ()).expect("kernel init failed");
assert!(unsafe { get_batch() } == 1);
}
#[rstest]
#[case::maybe_none_matches_omitted_default(None, 1)]
#[case::maybe_some_true_matches_default(Some(true), 1)]
#[case::maybe_some_false_disables(Some(false), 0)]
fn batch_maybe_matches_expected(#[case] batch: Option<bool>, #[case] expected: std::ffi::c_int) {
Ida::new()
.maybe_batch(batch)
.run(|_ida| ())
.expect("kernel init failed");
assert!(unsafe { get_batch() } == expected);
}