summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/dev_cargo_bins.rs44
1 files changed, 0 insertions, 44 deletions
diff --git a/tests/dev_cargo_bins.rs b/tests/dev_cargo_bins.rs
deleted file mode 100644
index 81f48b1..0000000
--- a/tests/dev_cargo_bins.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-// Makes sure that `dev/Cargo.toml` is synced with `info.toml`.
-// When this test fails, you just need to run `cargo run -p gen-dev-cargo-toml`.
-
-use serde::Deserialize;
-use std::fs;
-
-#[derive(Deserialize)]
-struct ExerciseInfo {
- name: String,
- dir: Option<String>,
-}
-
-#[derive(Deserialize)]
-struct InfoFile {
- exercises: Vec<ExerciseInfo>,
-}
-
-#[test]
-fn dev_cargo_bins() {
- let cargo_toml = fs::read_to_string("dev/Cargo.toml").unwrap();
-
- let exercise_infos =
- toml_edit::de::from_str::<InfoFile>(&fs::read_to_string("info.toml").unwrap())
- .unwrap()
- .exercises;
-
- let mut start_ind = 0;
- for exercise_info in exercise_infos {
- let name_start = start_ind + cargo_toml[start_ind..].find('"').unwrap() + 1;
- let name_end = name_start + cargo_toml[name_start..].find('"').unwrap();
- assert_eq!(exercise_info.name, &cargo_toml[name_start..name_end]);
-
- let path_start = name_end + cargo_toml[name_end + 1..].find('"').unwrap() + 2;
- let path_end = path_start + cargo_toml[path_start..].find('"').unwrap();
- let expected_path = if let Some(dir) = exercise_info.dir {
- format!("../exercises/{dir}/{}.rs", exercise_info.name)
- } else {
- format!("../exercises/{}.rs", exercise_info.name)
- };
- assert_eq!(expected_path, &cargo_toml[path_start..path_end]);
-
- start_ind = path_end + 1;
- }
-}