Skip to content

Commit 0074c81

Browse files
committed
test: Refactor function 'can_parse_language_from_valid_filename'
1 parent 0dcbb46 commit 0074c81

File tree

1 file changed

+11
-28
lines changed

1 file changed

+11
-28
lines changed

src/file_manager/models.rs

Lines changed: 11 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -77,34 +77,17 @@ impl Language {
7777
#[cfg(test)]
7878
mod tests {
7979
use super::*;
80-
81-
#[test]
82-
fn can_parse_language_from_valid_filename() {
83-
assert_eq!(
84-
Language::from_filename("solution.py").unwrap(),
85-
Language::Python
86-
);
87-
assert_eq!(
88-
Language::from_filename("test.PY").unwrap(),
89-
Language::Python
90-
);
91-
92-
assert_eq!(
93-
Language::from_filename("Solution.java").unwrap(),
94-
Language::Java
95-
);
96-
97-
assert_eq!(Language::from_filename("code.cpp").unwrap(), Language::Cpp);
98-
99-
assert_eq!(
100-
Language::from_filename("input.in").unwrap(),
101-
Language::Input
102-
);
103-
104-
assert_eq!(
105-
Language::from_filename("output.out").unwrap(),
106-
Language::Output
107-
);
80+
use rstest::rstest;
81+
82+
#[rstest]
83+
#[case("solution.py", Language::Python)]
84+
#[case("test.PY", Language::Python)]
85+
#[case("Solution.java", Language::Java)]
86+
#[case("code.cpp", Language::Cpp)]
87+
#[case("input.in", Language::Input)]
88+
#[case("output.out", Language::Output)]
89+
fn can_parse_language_from_valid_filename(#[case] filename: &str, #[case] expected: Language) {
90+
assert_eq!(Language::from_filename(filename).unwrap(), expected);
10891
}
10992

11093
#[test]

0 commit comments

Comments
 (0)