Rust में विभिन्न इनपुट डेटा की जाँच के लिए पैरामीटराइज़्ड टेस्ट कैसे बनाएं?
नमस्ते सहकर्मियों! मैंने हाल ही में Rust सीखना शुरू किया है और अपने प्रोजेक्ट के लिए टेस्ट लिख रहा हूँ। मेरे पास एक फंक्शन है जो किसी संख्या का फैक्टोरियल निकालता है:\n\n```rust\nfn factorial(n: u64) -> u64 {\n match n {\n 0 | 1 => 1,\n _ => n * factorial(n - 1),\n }\n}\n```\n\nमुझे विभिन्न इनपुट वैल्यूज: 0, 1, 5, 10 आदि के लिए इसके काम की जाँच करनी है। फिलहाल मैं प्रत्येक केस के लिए अलग टेस्ट लिख रहा हूँ:\n\n```rust\n#[test]\nfn test_factorial_0() {\n assert_eq!(factorial(0), 1);\n}\n\n#[test]\nfn test_factorial_1() {\n assert_eq!(factorial(1), 1);\n}\n\n#[test]\nfn test_factorial_5() {\n assert_eq!(factorial(5), 120);\n}\n```\n\nजब दर्जनों या सैकड़ों वेरिएंट्स की जाँच करनी हो तो यह बहुत असुविधाजनक है। मैं अन्य भाषाओं (जैसे Python में `pytest.mark.parametrize` के साथ) में एक पैरामीटराइज़्ड टेस्ट लिखने का आदी हूँ।