use macros::{impl_as,impl_from};
pub struct Length {
mm: usize,
}
impl_from!(Length, mm,
millimeters = ;
centimeters = 10;
meters = 100;
);
impl_as!(Length, mm,
millimeters = ;
centimeters = 10;
meters = 10 / 100;
);
#[cfg(test)]
mod test {
use super::*;
#[test]
fn test() {
let l = Length::from_meters(1);
assert_eq!(l.as_millimeters(), 100);
assert_eq!(l.as_centimeters(), 10);
}
}