Skip to main content

profile_usage_targets

Function profile_usage_targets 

Source
pub fn profile_usage_targets(profile: UserProfile) -> Vec<UsageTarget>
Expand description

Get usage check targets for a profile.

Returns a list of UsageTarget entries relevant to the profile’s use case. Each profile has different targets reflecting its priorities.

§Example

use netspeed_cli::profiles::{UserProfile, profile_usage_targets};

// Gamer targets include voice chat and cloud gaming
let gamer = profile_usage_targets(UserProfile::Gamer);
assert!(gamer.len() >= 3);
assert!(gamer.iter().any(|t| t.name.contains("gaming")));

// Streamer targets include streaming quality levels
let streamer = profile_usage_targets(UserProfile::Streamer);
assert!(streamer.iter().any(|t| t.name.contains("4K")));

// RemoteWorker targets include video calls and file uploads
let remote = profile_usage_targets(UserProfile::RemoteWorker);
assert!(remote.iter().any(|t| t.name.contains("Video calls")));

// Casual has the fewest targets
let casual = profile_usage_targets(UserProfile::Casual);
assert!(casual.len() < gamer.len());

// All profiles have at least one target
for profile in [UserProfile::PowerUser, UserProfile::Gamer,
               UserProfile::Streamer, UserProfile::RemoteWorker,
               UserProfile::Casual] {
    assert!(!profile_usage_targets(profile).is_empty());
}