// TODO: Investigate writing a proc macro to make specifying these combinations easier. For example, currently I am only setting 1 setting per test to keep the repetition reasonable when I should be mixing all the different combinations.

{expect_fail}
#[test]
fn autogen_default_{name}() -> Result<(), Box<dyn std::error::Error>> {{
    let org_path = "{path}";
    let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
    organic::compare::run_anonymous_compare(org_contents.as_str())?;
    Ok(())
}}

{expect_fail}
#[test]
fn autogen_la_{name}() -> Result<(), Box<dyn std::error::Error>> {{
    let org_path = "{path}";
    let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
    let global_settings = {{
        let mut global_settings = organic::settings::GlobalSettings::default();
        global_settings.list_allow_alphabetical = true;
        global_settings
    }};
    organic::compare::run_anonymous_compare_with_settings(org_contents.as_str(), &global_settings)?;
    Ok(())
}}

{expect_fail}
#[test]
fn autogen_t1_{name}() -> Result<(), Box<dyn std::error::Error>> {{
    let org_path = "{path}";
    let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
    let global_settings = {{
        let mut global_settings = organic::settings::GlobalSettings::default();
        global_settings.tab_width = 1;
        global_settings
    }};
    organic::compare::run_anonymous_compare_with_settings(org_contents.as_str(), &global_settings)?;
    Ok(())
}}

{expect_fail}
#[test]
fn autogen_t16_{name}() -> Result<(), Box<dyn std::error::Error>> {{
    let org_path = "{path}";
    let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
    let global_settings = {{
        let mut global_settings = organic::settings::GlobalSettings::default();
        global_settings.tab_width = 16;
        global_settings
    }};
    organic::compare::run_anonymous_compare_with_settings(org_contents.as_str(), &global_settings)?;
    Ok(())
}}

{expect_fail}
#[test]
fn autogen_odd_{name}() -> Result<(), Box<dyn std::error::Error>> {{
    let org_path = "{path}";
    let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
    let global_settings = {{
        let mut global_settings = organic::settings::GlobalSettings::default();
        global_settings.odd_levels_only = organic::settings::HeadlineLevelFilter::Odd;
        global_settings
    }};
    organic::compare::run_anonymous_compare_with_settings(org_contents.as_str(), &global_settings)?;
    Ok(())
}}