use pixstrip_core::config::*;

#[test]
fn default_config() {
    let config = AppConfig::default();
    assert_eq!(config.output_subfolder, "processed");
    assert_eq!(config.overwrite_behavior, OverwriteBehavior::Ask);
    assert!(config.remember_settings);
    assert_eq!(config.skill_level, SkillLevel::Simple);
    assert_eq!(config.thread_count, ThreadCount::Auto);
    assert_eq!(config.error_behavior, ErrorBehavior::SkipAndContinue);
}

#[test]
fn config_serialization_roundtrip() {
    let config = AppConfig::default();
    let json = serde_json::to_string(&config).unwrap();
    let deserialized: AppConfig = serde_json::from_str(&json).unwrap();
    assert_eq!(deserialized.output_subfolder, config.output_subfolder);
    assert_eq!(deserialized.overwrite_behavior, config.overwrite_behavior);
}

#[test]
fn skill_level_toggle() {
    assert!(!SkillLevel::Simple.is_advanced());
    assert!(SkillLevel::Detailed.is_advanced());
}
