use crate::*; impl Outcome { pub fn keep_lowest(self, dice_num: u16) -> Result { if dice_num == 0 { return Err(FailedTo::ProcessInput); } match self { Outcome::Scalar(value) => Ok(Outcome::List(vec![value])), Outcome::List(mut values) => { values.sort(); Ok(Outcome::List( values.into_iter().take(dice_num as usize).collect(), )) } } } } // #[cfg(test)] // mod unit_tests { use super::*; }