Avatar ·

Rust में एकाधिक इनपुट डेटा की जाँच के लिए पैरामीटराइज़्ड टेस्ट कैसे बनाएं?

नमस्ते साथियों! मैंने हाल ही में Rust सीखना शुरू किया है और अपने प्रोजेक्ट के लिए टेस्ट लिख रहा हूँ। मेरे पास एक फंक्शन है जो किसी संख्या का factorial निकालता है:\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`) में एक पैरामीटराइज़्ड टेस्ट लिखने का आदी हूँ।