#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum TestPhase {
Ping,
Download,
Upload,
}
impl TestPhase {
#[must_use]
pub fn label(self) -> &'static str {
match self {
Self::Ping => "Ping",
Self::Download => "Download",
Self::Upload => "Upload",
}
}
#[must_use]
pub fn next(self) -> Option<Self> {
match self {
Self::Ping => Some(Self::Download),
Self::Download => Some(Self::Upload),
Self::Upload => None,
}
}
}