leetcode_rust/cases_cn/c000_0xx/
c000_012.rs

1use crate::{
2    common::{Case, CaseGroup},
3    new_case,
4};
5
6pub fn use_cases() -> Vec<Case<i32, String, i32>> {
7    let mut case_group: CaseGroup<i32, String, i32> = CaseGroup::new();
8
9    macro_rules! new {
10        ({$val1:expr, $val2:expr})=>{
11            new_case!(case_group.create, $val1, String::from($val2));
12        };
13        ({$val1:expr, $val2:expr}, $({$val3:expr, $val4:expr}),+) => {
14            new!({$val1, $val2});
15            new!($({$val3, $val4}),+)
16        };
17    }
18
19    new!(
20            {1,     "I"},
21            {11,    "XI"},
22            {32,    "XXXII"},
23            {58,    "LVIII"},
24            {98,    "XCVIII"},
25            {121,   "CXXI"},
26            {123,   "CXXIII"},
27            {1001,  "MI"},
28            {1444,  "MCDXLIV"},
29            {1491,  "MCDXCI"},
30            {1591,  "MDXCI"},
31            {1994,  "MCMXCIV"},
32            {3998,  "MMMCMXCVIII"},
33            {3999,  "MMMCMXCIX"}
34        );
35
36    case_group.all()
37}