use std::convert::TryFrom;
use crate::vision::api;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Likelihood {
Unknown,
VeryUnlikely,
Unlikely,
Possible,
Likely,
VeryLikely,
}
impl From<api::Likelihood> for Likelihood {
fn from(likelihood: api::Likelihood) -> Likelihood {
match likelihood {
api::Likelihood::Unknown => Likelihood::Unknown,
api::Likelihood::VeryUnlikely => Likelihood::VeryUnlikely,
api::Likelihood::Unlikely => Likelihood::Unlikely,
api::Likelihood::Possible => Likelihood::Possible,
api::Likelihood::Likely => Likelihood::Likely,
api::Likelihood::VeryLikely => Likelihood::VeryLikely,
}
}
}
impl TryFrom<i32> for Likelihood {
type Error = ();
fn try_from(likelihood: i32) -> Result<Likelihood, Self::Error> {
match likelihood {
0 => Ok(Likelihood::Unknown),
1 => Ok(Likelihood::VeryUnlikely),
2 => Ok(Likelihood::Unlikely),
3 => Ok(Likelihood::Possible),
4 => Ok(Likelihood::Likely),
5 => Ok(Likelihood::VeryLikely),
_ => Err(()),
}
}
}