rust/mapgen/src/lib.rs
branchtransitional_engine
changeset 15924 9502611bffc1
parent 15923 d46ad15c6dec
child 15925 b0e8cc72bfef
equal deleted inserted replaced
15923:d46ad15c6dec 15924:9502611bffc1
    14         TemplateDescription as WfcTemplate, WavefrontCollapseLandGenerator,
    14         TemplateDescription as WfcTemplate, WavefrontCollapseLandGenerator,
    15     },
    15     },
    16     LandGenerationParameters, LandGenerator,
    16     LandGenerationParameters, LandGenerator,
    17 };
    17 };
    18 use rand::{seq::SliceRandom, Rng};
    18 use rand::{seq::SliceRandom, Rng};
    19 
       
    20 
    19 
    21 use std::{borrow::Borrow, collections::hash_map::HashMap};
    20 use std::{borrow::Borrow, collections::hash_map::HashMap};
    22 use vec2d::Vec2D;
    21 use vec2d::Vec2D;
    23 
    22 
    24 #[derive(PartialEq, Eq, Hash, Clone, Debug)]
    23 #[derive(PartialEq, Eq, Hash, Clone, Debug)]
   247     }
   246     }
   248 }
   247 }
   249 
   248 
   250 #[cfg(test)]
   249 #[cfg(test)]
   251 mod tests {
   250 mod tests {
   252     use crate::{MapGenerator, TemplateType};
   251     use crate::{MapGenerator, TemplateType, OutlineTemplate};
       
   252     use rand::thread_rng;
   253 
   253 
   254     #[test]
   254     #[test]
   255     fn simple_load() {
   255     fn simple_load() {
   256         let text = r#"
   256         let text = r#"
   257 # comment
   257 # comment
   281 
   281 
   282 template_types:
   282 template_types:
   283     test: [0]
   283     test: [0]
   284 "#;
   284 "#;
   285 
   285 
   286         let mut generator = MapGenerator::new();
   286         let mut generator = MapGenerator::<OutlineTemplate>::new();
   287         generator.import_yaml_templates(&text);
   287         generator.import_yaml_templates(&text);
   288 
   288 
   289         assert!(generator
   289         assert!(generator
   290             .templates
   290             .templates
   291             .contains_key(&TemplateType("test".to_string())));
   291             .contains_key(&TemplateType("test".to_string())));
   292 
   292 
   293         let template = generator.get_template("test").unwrap();
   293         let template = generator.get_template("test", &mut thread_rng()).unwrap();
   294 
   294 
   295         assert_eq!(template.islands[0].len(), 7);
   295         assert_eq!(template.islands[0].len(), 7);
   296     }
   296     }
   297 }
   297 }