@@ -33,24 +33,24 @@ pub fn rgb_to_cmyk(rgb: (u8, u8, u8)) -> (u8, u8, u8, u8) {
3333mod tests {
3434 use super :: * ;
3535
36- #[ test]
37- fn rgb_to_cmyk_test ( ) {
38- // white
39- assert_eq ! ( rgb_to_cmyk( 255 , 255 , 255 ) , ( 0 , 0 , 0 , 0 ) ) ;
40-
41- // gray
42- assert_eq ! ( rgb_to_cmyk( 128 , 128 , 128 ) , ( 0 , 0 , 0 , 49 ) ) ;
43-
44- // black
45- assert_eq ! ( rgb_to_cmyk( 0 , 0 , 0 ) , ( 0 , 0 , 0 , 100 ) ) ;
46-
47- // red
48- assert_eq ! ( rgb_to_cmyk( 255 , 0 , 0 ) , ( 0 , 100 , 100 , 0 ) ) ;
49-
50- // green
51- assert_eq ! ( rgb_to_cmyk( 0 , 255 , 0 ) , ( 100 , 0 , 100 , 0 ) ) ;
36+ macro_rules! test_rgb_to_cmyk {
37+ ( $( $name: ident: $tc: expr, ) * ) => {
38+ $(
39+ #[ test]
40+ fn $name( ) {
41+ let ( r, g, b, cmyk) = $tc;
42+ assert_eq!( rgb_to_cmyk( r, g, b) , cmyk) ;
43+ }
44+ ) *
45+ }
46+ }
5247
53- // blue
54- assert_eq ! ( rgb_to_cmyk( 0 , 0 , 255 ) , ( 100 , 100 , 0 , 0 ) ) ;
48+ test_rgb_to_cmyk ! {
49+ white: ( 255 , 255 , 255 , ( 0 , 0 , 0 , 0 ) ) ,
50+ gray: ( 128 , 128 , 128 , ( 0 , 0 , 0 , 49 ) ) ,
51+ black: ( 0 , 0 , 0 , ( 0 , 0 , 0 , 100 ) ) ,
52+ red: ( 255 , 0 , 0 , ( 0 , 100 , 100 , 0 ) ) ,
53+ green: ( 0 , 255 , 0 , ( 100 , 0 , 100 , 0 ) ) ,
54+ blue: ( 0 , 0 , 255 , ( 100 , 100 , 0 , 0 ) ) ,
5555 }
5656}
0 commit comments