use std::fmt::Display;
#[derive(Debug, Clone, PartialEq, Eq, Hash, Copy)]
pub enum RequestReference {
Background(u64),
Tagged(u64),
}
impl Default for RequestReference {
fn default() -> Self {
RequestReference::Background(0)
}
}
impl Display for RequestReference {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
RequestReference::Background(id) => write!(f, "BG({})", id),
RequestReference::Tagged(id) => write!(f, "Tagged({})", id),
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn display_background() {
assert_eq!(format!("{}", RequestReference::Background(42)), "BG(42)");
}
#[test]
fn display_tagged() {
assert_eq!(format!("{}", RequestReference::Tagged(7)), "Tagged(7)");
}
}