def test__move_people_to_primary_activity(sim: Simulator): sim.activity_manager.move_people_to_active_subgroups( ["primary_activity", "residence"]) for person in sim.world.people.members: if person.primary_activity is not None: assert person in person.primary_activity.people sim.clear_world()
def test__move_people_to_leisure(sim: Simulator): n_leisure = 0 n_cinemas = 0 n_pubs = 0 n_groceries = 0 repetitions = 500 for _ in range(repetitions): sim.clear_world() sim.activity_manager.move_people_to_active_subgroups( ["leisure", "residence"]) for person in sim.world.people.members: if person.leisure is not None: n_leisure += 1 if person.leisure.group.spec == "care_home": assert person.leisure.subgroup_type == 2 # visitors elif person.leisure.group.spec == "cinema": n_cinemas += 1 elif person.leisure.group.spec == "pub": n_pubs += 1 elif person.leisure.group.spec == "grocery": n_groceries += 1 # print(f'There are {len(person.leisure.people)} in this group') assert person in person.leisure.people assert n_leisure > 0 assert n_cinemas > 0 assert n_pubs > 0 assert n_groceries > 0 sim.clear_world()
def test__move_people_to_commute(sim: Simulator): sim.activity_manager.distribute_commuters() sim.activity_manager.move_people_to_active_subgroups( ["commute", "residence"]) n_commuters = 0 for person in sim.world.people.members: if person.commute is not None: n_commuters += 1 assert person in person.commute.people assert n_commuters > 0 sim.clear_world()
def test__clear_world(sim: Simulator): sim.clear_world() for group_name in sim.activity_manager.activities_to_groups( sim.activity_manager.all_activities): if group_name in ["household_visits", "care_home_visits"]: continue grouptype = getattr(sim.world, group_name) for group in grouptype.members: for subgroup in group.subgroups: assert len(subgroup.people) == 0 for person in sim.world.people.members: assert person.busy == False
def test__move_people_to_residence(sim: Simulator): sim.activity_manager.move_people_to_active_subgroups(["residence"]) for person in sim.world.people.members: assert person in person.residence.people sim.clear_world()