Further massive amounts of work
This commit is contained in:
@@ -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>;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::collections::HashMap;
|
||||
use hashbrown::HashMap;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct TypeLibrary {
|
||||
|
||||
Reference in New Issue
Block a user