#[cfg(test)]
mod tests {
    use crate::compression_engine::CompressionEngine;
    use crate::compression_engine::program::CompressionEngineProgram;

    #[test]
    fn test_compression_engine_program_creation() {
        let engine = CompressionEngineProgram {
            program: "gzip".to_string(),
            compress: vec!["-c".to_string()],
            decompress: vec!["-d".to_string(), "-c".to_string()],
            supported: true,
        };

        // If the program exists, it should be supported
        let _ = engine.is_supported();
    }

    #[test]
    fn test_compression_engine_program_unsupported() {
        let engine = CompressionEngineProgram {
            program: "nonexistent_compression_program".to_string(),
            compress: vec![],
            decompress: vec![],
            supported: false,
        };

        // Explicitly unsupported engine should report as such
        assert!(!engine.is_supported());
    }
}
