use crate::trading::enums::ActivityType;
impl ActivityType {
#[must_use]
pub fn is_trade_activity(&self) -> bool {
matches!(self, Self::Fill)
}
#[must_use]
pub fn is_str_trade_activity(value: &str) -> bool {
value == Self::Fill.as_str()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn only_fill_is_a_trade_activity() {
assert!(ActivityType::Fill.is_trade_activity());
assert!(!ActivityType::Div.is_trade_activity());
assert!(!ActivityType::Unknown("NEWTHING".to_owned()).is_trade_activity());
}
#[test]
fn raw_value_check_matches_the_typed_one() {
assert!(ActivityType::is_str_trade_activity("FILL"));
assert!(!ActivityType::is_str_trade_activity("DIV"));
assert!(!ActivityType::is_str_trade_activity("fill"));
}
}