1mod mapenv;
27pub use crate::mapenv::disk_pers::{create_or_load_map_env, MapEnv, create_or_load_late_save_map_env, LateSaveMapEnv};
28
29extern crate core;
30
31#[cfg(test)]
32mod tests {
33 use std::fs;
34 use crate::{create_or_load_late_save_map_env, LateSaveMapEnv};
35 use crate::mapenv::disk_pers::{create_or_load_map_env, MapEnv};
36
37 fn clear_files(name: &str) {
38 if fs::remove_file(name).is_ok() {};
39 }
40
41 #[test]
42 fn create_env_and_check_name() {
43 let map_env: MapEnv = create_or_load_map_env("name1");
44 assert_eq!(map_env.get_name(), "name1");
45 clear_files("name1");
46 }
47
48 #[test]
49 fn create_env_put_and_get() {
50 let mut map_env: MapEnv = create_or_load_map_env("name2");
51 map_env.put("somekey", "somevalue");
52 let value = map_env.get("somekey").unwrap();
53 assert_eq!(value, "somevalue");
54 clear_files("name2");
55 }
56
57 #[test]
58 fn create_env_put_and_delete() {
59 let mut map_env: MapEnv = create_or_load_map_env("name4");
60 map_env.put("somekey", "somevalue");
61 map_env.delete("somekey");
62 let value = map_env.get("somekey");
63 assert_eq!(value, None);
64 clear_files("name4");
65 }
66
67 #[test]
68 fn create_env_and_check_name_with_late_save() {
69 let map_env: LateSaveMapEnv = create_or_load_late_save_map_env("name6");
70 assert_eq!(map_env.get_name(), "name6");
71 clear_files("name6");
72 }
73
74 #[test]
75 fn create_env_put_and_get_with_late_save() {
76 let mut map_env: LateSaveMapEnv = create_or_load_late_save_map_env("name7");
77 map_env.put("somekey", "somevalue");
78 map_env.save();
79
80 let mut new_map_env_instance: LateSaveMapEnv = create_or_load_late_save_map_env("name7");
81
82 let value = new_map_env_instance.get("somekey").unwrap();
83 assert_eq!(value, "somevalue");
84 clear_files("name7");
85 }
86
87 #[test]
88 fn create_env_put_and_get_with_late_save_without_saving_to_disk() {
89 let mut map_env: LateSaveMapEnv = create_or_load_late_save_map_env("name8");
90 map_env.put("somekey", "somevalue");
91 let mut new_map_env_instance: LateSaveMapEnv = create_or_load_late_save_map_env("name8");
94
95 let value = new_map_env_instance.get("somekey");
96 assert_eq!(value, None);
97 clear_files("name8");
98 }
99
100
101}
102
103