1
2use std::cmp::max;
3use std::cmp::min;
4#[macro_export]
5macro_rules! max {
6 ($e: expr) => { $e };
7 ($e: expr, $($rest: tt)*) => { max($e, max!($($rest)*)) }
8}
9
10#[macro_export]
11macro_rules! min {
12 ($e: expr) => { $e };
13 ($e: expr, $($rest: tt)*) => { min($e, min!($($rest)*)) }
14}
15
16
17#[cfg(test)]
18mod tests {
19 pub use super::*;
20 #[test]
21 fn it_works() {
22 assert_eq!(max!(1,2,3,4), 4);
23 }
24
25 #[test]
26 fn char_works(){
27 assert_eq!(max!('a','b','c','d'),'d' );
28 }
29
30 #[test]
31 fn number_char_works(){
32 assert_eq!(max!('1','2','3','4'), '4');
33 }
34}