greed 0.5.2

A rust tool to automate trades 📈
Documentation
use crate::platform::order::class::OrderClass;
use apca::api::v2::order::Class;

impl From<Class> for OrderClass {
    fn from(value: Class) -> Self {
        match value {
            Class::Simple => OrderClass::Simple,
            Class::Bracket => OrderClass::Bracket,
            Class::OneCancelsOther => OrderClass::OneCancelsOther,
            Class::OneTriggersOther => OrderClass::OneTriggersOther,
            _ => panic!("unknown stop order class"),
        }
    }
}

impl From<OrderClass> for Class {
    fn from(value: OrderClass) -> Self {
        match value {
            OrderClass::Simple => Class::Simple,
            OrderClass::Bracket => Class::Bracket,
            OrderClass::OneCancelsOther => Class::OneCancelsOther,
            OrderClass::OneTriggersOther => Class::OneTriggersOther,
        }
    }
}

#[cfg(test)]
mod test {
    use crate::assert;
    use crate::platform::order::class::OrderClass;
    use apca::api::v2::order::Class;

    #[test]
    fn from() {
        assert::conversion(Class::Simple, OrderClass::Simple);
        assert::conversion(Class::Bracket, OrderClass::Bracket);
        assert::conversion(Class::OneCancelsOther, OrderClass::OneCancelsOther);
        assert::conversion(Class::OneTriggersOther, OrderClass::OneTriggersOther);
    }

    #[test]
    fn from_alpaca() {
        assert::conversion(OrderClass::Simple, Class::Simple);
        assert::conversion(OrderClass::Bracket, Class::Bracket);
        assert::conversion(OrderClass::OneCancelsOther, Class::OneCancelsOther);
        assert::conversion(OrderClass::OneTriggersOther, Class::OneTriggersOther);
    }
}