#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum PositionEffect {
Open,
Close,
}
impl std::fmt::Display for PositionEffect {
fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
formatter.write_str(match self {
Self::Open => "OPEN",
Self::Close => "CLOSE",
})
}
}
#[cfg(test)]
mod tests {
use super::PositionEffect;
#[test]
fn display_uses_api_names() {
assert_eq!(PositionEffect::Open.to_string(), "OPEN");
assert_eq!(PositionEffect::Close.to_string(), "CLOSE");
}
}