//! Unit tests for basic functionality use apt_wrapper::{AptTransaction, AptPackage, AptRepository, PackageDatabase}; #[test] fn test_transaction_creation() { let transaction = AptTransaction::new().unwrap(); assert!(transaction.is_empty()); assert_eq!(transaction.packages().len(), 0); } #[test] fn test_transaction_add_package() { let mut transaction = AptTransaction::new().unwrap(); transaction.add_package("vim").unwrap(); assert!(!transaction.is_empty()); assert_eq!(transaction.packages().len(), 1); assert_eq!(transaction.packages()[0], "vim"); } #[test] fn test_transaction_resolve() { let mut transaction = AptTransaction::new().unwrap(); transaction.add_package("vim").unwrap(); transaction.resolve().unwrap(); // Should not panic } #[test] fn test_package_creation() { let package = AptPackage::new("vim".to_string(), "2:8.2.2434-3+deb11u1".to_string()); assert_eq!(package.name(), "vim"); assert_eq!(package.version(), "2:8.2.2434-3+deb11u1"); } #[test] fn test_repository_creation() { let repo = AptRepository::new( "debian".to_string(), "http://deb.debian.org/debian".to_string(), ); assert_eq!(repo.name(), "debian"); assert_eq!(repo.url(), "http://deb.debian.org/debian"); } #[test] fn test_package_database_creation() { let db = PackageDatabase::new().unwrap(); assert!(!db.is_stale()); }