use crate::core::{Candidate, Method, Ordinal, Profile, SingleWinner};
#[derive(Debug, Clone, serde::Serialize)]
pub struct RandomDictator;
impl Method for RandomDictator {
type Ballot = Ordinal;
type Winner = SingleWinner;
fn outcome(&self, candidates: &[Candidate], profile: Profile<Self::Ballot>) -> Self::Winner {
if profile.is_empty() {
return SingleWinner::None;
}
let winner = profile[0][0];
SingleWinner::win(candidates, winner)
}
}