Skip to main content

matchcore/orders/
kind.rs

1use std::fmt;
2
3/// Represents the kind of an order
4#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6pub enum OrderKind {
7    /// Limit order
8    Limit,
9    /// Pegged order
10    Pegged,
11}
12
13impl fmt::Display for OrderKind {
14    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
15        match self {
16            OrderKind::Limit => write!(f, "Limit"),
17            OrderKind::Pegged => write!(f, "Pegged"),
18        }
19    }
20}
21
22#[cfg(test)]
23mod tests {
24    use super::*;
25
26    #[test]
27    fn test_display() {
28        assert_eq!(OrderKind::Limit.to_string(), "Limit");
29        assert_eq!(OrderKind::Pegged.to_string(), "Pegged");
30    }
31}