mirror of
https://github.com/kmc7468/cs220.git
synced 2025-12-12 21:08:45 +00:00
32 lines
1.0 KiB
Rust
32 lines
1.0 KiB
Rust
//! Test cases for assignment11/mock_storage.rs
|
|
|
|
#[cfg(test)]
|
|
mod test_mock_storage {
|
|
use crate::assignments::assignment11::mock_storage::*;
|
|
|
|
#[test]
|
|
fn test_mock_storage() {
|
|
let mock_storage = MockStorage::new(100);
|
|
|
|
let uploader1 = FileUploader::new(&mock_storage);
|
|
let uploader2 = FileUploader::new(&mock_storage);
|
|
|
|
let usage_analyzer = UsageAnalyzer::new(&mock_storage, 0.75);
|
|
|
|
assert!(uploader1.upload("file1.txt", 20).is_ok());
|
|
assert!(usage_analyzer.is_usage_under_bound());
|
|
|
|
assert!(uploader2.upload("file2.txt", 30).is_ok());
|
|
assert!(usage_analyzer.is_usage_under_bound());
|
|
|
|
assert!(uploader1.upload("file3.txt", 40).is_ok());
|
|
assert!(!usage_analyzer.is_usage_under_bound());
|
|
|
|
assert_eq!(uploader2.upload("file4.txt", 50), Err(40));
|
|
assert!(!usage_analyzer.is_usage_under_bound());
|
|
|
|
assert!(uploader1.upload("file3.txt", 10).is_ok());
|
|
assert!(usage_analyzer.is_usage_under_bound());
|
|
}
|
|
}
|