Further massive amounts of work

This commit is contained in:
2022-06-06 13:54:59 +02:00
parent df662ce6b5
commit ce33ec0649
33 changed files with 848 additions and 80 deletions

View File

@@ -1,5 +1,5 @@
use crate::utils::random::Random;
use std::collections::HashMap;
use hashbrown::HashMap;
pub trait DataLibrary<'a, T: 'a> {
fn map(&self) -> &HashMap<String, T>;

View File

@@ -1,6 +1,6 @@
use crate::defines::LevelInt;
use crate::static_data::growth_rates::growth_rate::GrowthRate;
use std::collections::HashMap;
use hashbrown::HashMap;
use std::fmt;
use std::fmt::{Debug, Formatter};
@@ -42,7 +42,10 @@ pub mod tests {
// Borrow as mut so we can insert
let w = &mut lib;
w.add_growth_rate("foo", Box::new(LookupGrowthRate::new(vec![0, 5, 10, 100])));
w.add_growth_rate(
"test_growthrate",
Box::new(LookupGrowthRate::new(vec![0, 5, 10, 100])),
);
// Drops borrow as mut
lib
@@ -51,14 +54,14 @@ pub mod tests {
#[test]
fn add_growth_rate_to_library_and_calculate_level() {
let lib = build();
assert_eq!(lib.calculate_level("foo", 3), 1);
assert_eq!(lib.calculate_level("foo", 50), 3);
assert_eq!(lib.calculate_level("test_growthrate", 3), 1);
assert_eq!(lib.calculate_level("test_growthrate", 50), 3);
}
#[test]
fn add_growth_rate_to_library_and_calculate_experience() {
let lib = build();
assert_eq!(lib.calculate_experience("foo", 1), 0);
assert_eq!(lib.calculate_experience("foo", 3), 10);
assert_eq!(lib.calculate_experience("test_growthrate", 1), 0);
assert_eq!(lib.calculate_experience("test_growthrate", 3), 10);
}
}

View File

@@ -1,6 +1,6 @@
use crate::static_data::items::item::Item;
use crate::static_data::libraries::data_library::DataLibrary;
use std::collections::HashMap;
use hashbrown::HashMap;
#[derive(Debug)]
pub struct ItemLibrary {

View File

@@ -1,6 +1,6 @@
use crate::static_data::libraries::data_library::DataLibrary;
use crate::static_data::moves::move_data::MoveData;
use std::collections::HashMap;
use hashbrown::HashMap;
#[derive(Debug)]
pub struct MoveLibrary {

View File

@@ -1,6 +1,6 @@
use crate::static_data::libraries::data_library::DataLibrary;
use crate::static_data::species_data::species::Species;
use std::collections::HashMap;
use hashbrown::HashMap;
#[derive(Debug)]
pub struct SpeciesLibrary<'a> {
@@ -39,14 +39,14 @@ pub mod tests {
use crate::static_data::species_data::learnable_moves::LearnableMoves;
use crate::static_data::species_data::species::Species;
use crate::static_data::statistic_set::StatisticSet;
use std::collections::HashSet;
use hashbrown::HashSet;
fn build_species<'a>() -> Species<'a> {
Species::new(
0,
"foo",
0.5,
"",
"test_growthrate",
0,
Form::new(
"default",

View File

@@ -4,6 +4,7 @@ use crate::static_data::libraries::library_settings::LibrarySettings;
use crate::static_data::libraries::move_library::MoveLibrary;
use crate::static_data::libraries::species_library::SpeciesLibrary;
use crate::static_data::libraries::type_library::TypeLibrary;
use crate::static_data::natures::NatureLibrary;
use derive_getters::Getters;
#[derive(Getters, Debug)]
@@ -14,6 +15,7 @@ pub struct StaticData<'a> {
items: ItemLibrary,
growth_rates: GrowthRateLibrary,
types: TypeLibrary,
natures: NatureLibrary,
}
#[cfg(test)]
@@ -23,6 +25,7 @@ pub mod test {
use crate::static_data::libraries::{
growth_rate_library, item_library, move_library, species_library, type_library,
};
use crate::static_data::natures;
pub fn build<'a>() -> StaticData<'a> {
StaticData {
@@ -32,6 +35,7 @@ pub mod test {
items: item_library::tests::build(),
growth_rates: growth_rate_library::tests::build(),
types: type_library::tests::build(),
natures: natures::tests::build(),
}
}
}

View File

@@ -1,4 +1,4 @@
use std::collections::HashMap;
use hashbrown::HashMap;
#[derive(Debug)]
pub struct TypeLibrary {