use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeviceInfo {
pub id: String,
pub name: String,
}
impl fmt::Display for DeviceInfo {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{} ({})", self.name, self.id)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn display_format_is_name_paren_id() {
let info = DeviceInfo {
id: "alsa_output.pci-0000_00_1b.0.analog-stereo".to_string(),
name: "Built-in Audio Analog Stereo".to_string(),
};
assert_eq!(
info.to_string(),
"Built-in Audio Analog Stereo (alsa_output.pci-0000_00_1b.0.analog-stereo)"
);
}
}