use failure::Fail;
#[derive(Debug, Fail)]
pub enum TallyError {
#[fail(display = "tallystick: vote contains duplicate candidates")]
VoteHasDuplicateCandidates,
#[fail(display = "tallystick: vote contains unknown candidate")]
UnknownCandidate,
}
#[derive(Debug, Fail)]
pub enum ParseError {
#[fail(display = "tallystick: error parsing numeric value {}", 0)]
ParseError(String),
#[fail(display = "tallystick: error reading vote data: {}", 0)]
ReadError(std::io::Error),
}
impl From<std::io::Error> for ParseError {
fn from(error: std::io::Error) -> Self {
ParseError::ReadError(error)
}
}