libobs-bootstrapper 0.3.1

Downloads OBS binaries at runtime and bootstraps libobs
#[cfg(test)]
mod tests {
    use crate::{ObsBootstrapperOptions, options::GITHUB_REPO};

    #[test]
    fn test_default_options() {
        let options = ObsBootstrapperOptions::new();
        assert_eq!(options.get_repository(), GITHUB_REPO);
        assert!(options.update);
        assert!(options.restart_after_update);
    }

    #[test]
    fn test_set_repository() {
        let options = ObsBootstrapperOptions::new().set_repository("custom/repo");
        assert_eq!(options.get_repository(), "custom/repo");
    }

    #[test]
    fn test_set_update_true() {
        let options = ObsBootstrapperOptions::new().set_update(true);
        assert!(options.update);
    }

    #[test]
    fn test_set_update_false() {
        let options = ObsBootstrapperOptions::new().set_update(false);
        assert!(!options.update);
    }

    #[test]
    fn test_set_no_restart() {
        let options = ObsBootstrapperOptions::new().set_no_restart();
        assert!(!options.restart_after_update);
    }

    #[test]
    fn test_chaining() {
        let options = ObsBootstrapperOptions::new()
            .set_repository("test/repo")
            .set_update(false)
            .set_no_restart();

        assert_eq!(options.get_repository(), "test/repo");
        assert!(!options.update);
        assert!(!options.restart_after_update);
    }

    #[test]
    fn test_default_trait() {
        let options = ObsBootstrapperOptions::default();
        assert_eq!(options.get_repository(), GITHUB_REPO);
        assert!(options.update);
        assert!(options.restart_after_update);
    }

    #[test]
    fn test_clone() {
        let options1 = ObsBootstrapperOptions::new().set_repository("test/repo");
        let options2 = options1.clone();
        assert_eq!(options1.get_repository(), options2.get_repository());
    }

    #[test]
    fn test_debug() {
        let options = ObsBootstrapperOptions::new();
        let debug_str = format!("{:?}", options);
        assert!(debug_str.contains("ObsBootstrapperOptions"));
    }
}