1f6121a04Sopenharmony_ciextern crate lazycell; 2f6121a04Sopenharmony_ci 3f6121a04Sopenharmony_ciuse lazycell::LazyCell; 4f6121a04Sopenharmony_ci 5f6121a04Sopenharmony_ci#[test] 6f6121a04Sopenharmony_cifn test_lazycell() { 7f6121a04Sopenharmony_ci let lazycell = LazyCell::new(); 8f6121a04Sopenharmony_ci 9f6121a04Sopenharmony_ci assert_eq!(lazycell.borrow(), None); 10f6121a04Sopenharmony_ci assert!(!lazycell.filled()); 11f6121a04Sopenharmony_ci 12f6121a04Sopenharmony_ci lazycell.fill(1).unwrap(); 13f6121a04Sopenharmony_ci 14f6121a04Sopenharmony_ci assert!(lazycell.filled()); 15f6121a04Sopenharmony_ci assert_eq!(lazycell.borrow(), Some(&1)); 16f6121a04Sopenharmony_ci assert_eq!(lazycell.into_inner(), Some(1)); 17f6121a04Sopenharmony_ci} 18f6121a04Sopenharmony_ci 19f6121a04Sopenharmony_ci#[test] 20f6121a04Sopenharmony_cifn test_already_filled_error() { 21f6121a04Sopenharmony_ci let lazycell: LazyCell<usize> = LazyCell::new(); 22f6121a04Sopenharmony_ci 23f6121a04Sopenharmony_ci lazycell.fill(1).unwrap(); 24f6121a04Sopenharmony_ci assert_eq!(lazycell.fill(1), Err(1)); 25f6121a04Sopenharmony_ci} 26