Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Animal - Feature/multi grid occupancy #530

Merged
merged 38 commits into from
Dec 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9b88fe0
Basic outline of an Animal Territories class.
TaranRallings Jul 10, 2024
b963654
Added methods for initialize territory, territory size, updating terr…
TaranRallings Jul 10, 2024
e988161
Revised initialize_territory to use breadth-first search.
TaranRallings Jul 11, 2024
4b64df3
Merge branch 'develop' into feature/multi_grid_occupancy
TaranRallings Jul 11, 2024
11a8326
Added a Territory protocol to avoid circular reference.
TaranRallings Jul 11, 2024
0286b62
Added calls to initialize_territory to birth, migration, and metamorp…
TaranRallings Jul 11, 2024
0e3d2a3
Changed initialize_territory to use dynamic importing.
TaranRallings Jul 11, 2024
58a32a5
Added testing for AnimalTerritory.
TaranRallings Jul 11, 2024
67e0997
Refactored initialize_territory so that bfs_territory is a stand alon…
TaranRallings Jul 12, 2024
195417b
Added test for bfs_territory.
TaranRallings Jul 12, 2024
0aa128f
Added test for initialize_territory.
TaranRallings Jul 12, 2024
49ae8bb
Merge branch 'develop' into feature/multi_grid_occupancy
TaranRallings Jul 15, 2024
54639cb
Fixed test_calculate_potential_consumed_mass.
TaranRallings Jul 15, 2024
4c7fe4c
Reworking of types and protocols.
TaranRallings Jul 16, 2024
1766d88
Updated defecate for all pools in territory.
TaranRallings Jul 16, 2024
24f0c47
Merge branch 'develop' into feature/multi_grid_occupancy
TaranRallings Jul 17, 2024
aaa75e5
Many small changes to get typing to work between files/classes. This …
TaranRallings Jul 18, 2024
4ceba3c
die_individual now calls update_carcass_pools.
TaranRallings Jul 18, 2024
bb70dfb
Updated excrete for multi-grid.
TaranRallings Jul 18, 2024
1e93fc4
Added a community.occupancy attribute to track cohorts partially in a…
TaranRallings Jul 19, 2024
a896d0f
Added abandon_communities method to animal territory.
TaranRallings Jul 19, 2024
56ee5d0
Added a reinitialize_territory method and modified migrate.
TaranRallings Jul 19, 2024
d6313bf
Updated test_animal_territories.
TaranRallings Jul 22, 2024
6798997
Updated tests for animal_cohorts.
TaranRallings Jul 23, 2024
1eba4f2
Added all_occupying_cohorts method and revised test_forage_community.
TaranRallings Jul 24, 2024
1f85190
Revised test_inflict_non_predation_mortality.
TaranRallings Jul 25, 2024
af6bb16
Fully revised test_animal_communities for multi-grid.
TaranRallings Jul 25, 2024
c68a9e7
Updated animal model tests.
TaranRallings Jul 25, 2024
81cd1f4
Finished revising all animal tests for multi grid occupancy.
TaranRallings Jul 25, 2024
5b5708d
Merge branch 'develop' into feature/multi_grid_occupancy
TaranRallings Jul 26, 2024
4dbb2d8
Added temporary solution to problem with plant data and ve_run testing.
TaranRallings Jul 26, 2024
4efee34
Added test for reinitialize territory.
TaranRallings Jul 26, 2024
a777fc2
Small docstring fix in animal communities.
TaranRallings Jul 29, 2024
fbae47b
Added a mass check on forage_cohort.
TaranRallings Jul 30, 2024
dddfa6b
Adjusted defecate docstring to fix doc build errors.
TaranRallings Jul 30, 2024
1908f0a
Modified test_generate_animal_model to deal with stochastic warnings.
TaranRallings Jul 30, 2024
8c68c14
Fixed defecate docstring bug.
TaranRallings Jul 30, 2024
b979702
Merge branch 'develop' into feature/multi_grid_occupancy
TaranRallings Aug 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 67 additions & 11 deletions tests/models/animals/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ def functional_group_list_instance(shared_datadir, constants_instance):

@pytest.fixture
def animal_model_instance(
data_instance,
animal_data_for_community_instance,
fixture_core_components,
functional_group_list_instance,
constants_instance,
Expand All @@ -163,7 +163,7 @@ def animal_model_instance(
from virtual_ecosystem.models.animal.animal_model import AnimalModel

return AnimalModel(
data=data_instance,
data=animal_data_for_community_instance,
core_components=fixture_core_components,
functional_groups=functional_group_list_instance,
model_constants=constants_instance,
Expand All @@ -185,7 +185,7 @@ def animal_community_instance(
data=animal_data_for_community_instance,
community_key=4,
neighbouring_keys=[1, 3, 5, 7],
get_destination=animal_model_instance.get_community_by_key,
get_community_by_key=animal_model_instance.get_community_by_key,
constants=constants_instance,
)

Expand All @@ -204,12 +204,19 @@ def herbivore_functional_group_instance(shared_datadir, constants_instance):


@pytest.fixture
def herbivore_cohort_instance(herbivore_functional_group_instance, constants_instance):
def herbivore_cohort_instance(
herbivore_functional_group_instance, animal_territory_instance, constants_instance
):
"""Fixture for an animal cohort used in tests."""
from virtual_ecosystem.models.animal.animal_cohorts import AnimalCohort

return AnimalCohort(
herbivore_functional_group_instance, 10000.0, 1, 10, constants_instance
herbivore_functional_group_instance,
10000.0,
1,
10,
animal_territory_instance,
constants_instance,
)


Expand All @@ -228,13 +235,18 @@ def caterpillar_functional_group_instance(shared_datadir, constants_instance):

@pytest.fixture
def caterpillar_cohort_instance(
caterpillar_functional_group_instance, constants_instance
caterpillar_functional_group_instance, animal_territory_instance, constants_instance
):
"""Fixture for an animal cohort used in tests."""
from virtual_ecosystem.models.animal.animal_cohorts import AnimalCohort

return AnimalCohort(
caterpillar_functional_group_instance, 1.0, 1, 100, constants_instance
caterpillar_functional_group_instance,
1.0,
1,
100,
animal_territory_instance,
constants_instance,
)


Expand All @@ -252,12 +264,19 @@ def butterfly_functional_group_instance(shared_datadir, constants_instance):


@pytest.fixture
def butterfly_cohort_instance(butterfly_functional_group_instance, constants_instance):
def butterfly_cohort_instance(
butterfly_functional_group_instance, animal_territory_instance, constants_instance
):
"""Fixture for an animal cohort used in tests."""
from virtual_ecosystem.models.animal.animal_cohorts import AnimalCohort

return AnimalCohort(
butterfly_functional_group_instance, 1.0, 1, 100, constants_instance
butterfly_functional_group_instance,
1.0,
1,
100,
animal_territory_instance,
constants_instance,
)


Expand Down Expand Up @@ -293,13 +312,50 @@ def plant_list_instance(plant_data_instance, constants_instance):


@pytest.fixture
def animal_list_instance(herbivore_functional_group_instance, constants_instance):
def animal_list_instance(
herbivore_functional_group_instance, animal_territory_instance, constants_instance
):
"""Fixture providing a list of animal cohorts."""
from virtual_ecosystem.models.animal.animal_cohorts import AnimalCohort

return [
AnimalCohort(
herbivore_functional_group_instance, 10000.0, 1, 10, constants_instance
herbivore_functional_group_instance,
10000.0,
1,
10,
animal_territory_instance,
constants_instance,
)
for idx in range(3)
]


@pytest.fixture
def get_community_by_key(animal_community_instance):
"""Fixture for get_community_by_key."""

def _get_community_by_key(key):
return animal_community_instance

return _get_community_by_key


@pytest.fixture
def animal_territory_instance(get_community_by_key):
"""Fixture for animal territories."""
from virtual_ecosystem.models.animal.animal_territories import AnimalTerritory

return AnimalTerritory(
centroid=0,
grid_cell_keys=[1, 2, 3],
get_community_by_key=get_community_by_key,
)


@pytest.fixture
def carcass_pool_instance():
"""Fixture for an carcass pool used in tests."""
from virtual_ecosystem.models.animal.decay import CarcassPool

return CarcassPool(0.0, 0.0)
Loading
Loading