Initial work on outlining the dynamic side of the library.

This commit is contained in:
2021-01-31 17:31:22 +01:00
parent 2a08fb2645
commit c194c5d209
24 changed files with 321 additions and 39 deletions

View File

@@ -32,7 +32,7 @@ impl<'a> DataLibrary<'a, Species<'a>> for SpeciesLibrary<'a> {
}
#[cfg(test)]
mod tests {
pub mod tests {
use crate::static_data::libraries::data_library::DataLibrary;
use crate::static_data::libraries::species_library::SpeciesLibrary;
use crate::static_data::species_data::form::Form;
@@ -64,16 +64,21 @@ mod tests {
)
}
#[test]
fn add_species_to_library_and_fetch() {
pub fn build<'a>() -> SpeciesLibrary<'a> {
let mut lib = SpeciesLibrary::new(1);
let species = build_species();
// Borrow as mut so we can insert
let w = &mut lib;
w.add("foo", species);
// Drops borrow as mut
lib
}
#[test]
fn add_species_to_library_and_fetch() {
let lib = build();
// Borrow as read so we can read
let r = &lib;
let mon = r.get("foo");
@@ -85,14 +90,9 @@ mod tests {
#[test]
fn add_species_to_library_then_remove() {
let mut lib = SpeciesLibrary::new(1);
let species = build_species();
let mut lib = build();
// Borrow as mut so we can insert
let w = &mut lib;
w.add("foo", species);
w.remove("foo");
// Drops borrow as mut
lib.remove("foo");
// Borrow as read so we can read
let r = &lib;