trey 0.2.0

Writing V3000 CTfiles.
Documentation
use std::fmt;

use super::{CoordinationDisplay, HydrogenDisplay};

#[derive(PartialEq, Debug, Clone)]
pub enum BondKind {
    Single,
    Double,
    Triple,
    Aromatic,
    SingleOrDouble,
    SingleOrAromatic,
    DoubleOrAromatic,
    Any,
    Coordination(Option<CoordinationDisplay>),
    Hydrogen(HydrogenDisplay),
}

impl Default for BondKind {
    fn default() -> Self {
        Self::Single
    }
}

impl fmt::Display for BondKind {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(
            f,
            "{}",
            match self {
                BondKind::Single => "1",
                BondKind::Double => "2",
                BondKind::Triple => "3",
                BondKind::Aromatic => "4",
                BondKind::SingleOrDouble => "5",
                BondKind::SingleOrAromatic => "6",
                BondKind::DoubleOrAromatic => "7",
                BondKind::Any => "8",
                BondKind::Coordination(_) => "9",
                BondKind::Hydrogen(_) => "10",
            }
        )
    }
}