Coverage for pybeepop/beepop/ieditem.py: 0%

11 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-30 13:34 +0000

1"""BeePop+ In-Hive Exposure Dose (IED) Module. 

2 

3IMPORTANT NOTE: This module is currently NOT IMPLEMENTED or USED in the 

4BeePop+ Python simulation. The IEDItem class exists as a placeholder from the 

5C++ port but is not integrated into the simulation engine. The IED functionality 

6is disabled (ied_enable = False in session.py) and would require additional 

7development to become functional. 

8 

9Classes: 

10 IEDItem: Individual in-hive exposure event with life-stage-specific mortality 

11 (NOT CURRENTLY USED IN SIMULATION) 

12""" 

13 

14from datetime import datetime 

15 

16 

17class IEDItem: 

18 """In-hive exposure dose event causing life-stage-specific mortality. 

19 

20 IMPORTANT: This class is currently NOT IMPLEMENTED or USED in the BeePop+ 

21 Python simulation. It exists as a placeholder from the C++ port but is not 

22 integrated into the simulation engine. To use this functionality, additional 

23 development would be required to connect it to the colony mortality systems 

24 and enable the IED processing in the session manager. 

25 

26 Represents an acute pesticide exposure event occurring within the hive 

27 that affects bees across multiple life stages. IED events model scenarios 

28 such as contaminated stored resources, residue buildup in wax comb, or 

29 other in-hive exposure pathways. 

30 

31 Attributes: 

32 ied_date (datetime): Date when exposure event occurs 

33 mort_eggs (float): Mortality rate for eggs (proportion 0.0-1.0) 

34 mort_larvae (float): Mortality rate for larvae (proportion 0.0-1.0) 

35 mort_brood (float): Mortality rate for capped brood (proportion 0.0-1.0) 

36 mort_adults (float): Mortality rate for adult workers (proportion 0.0-1.0) 

37 mort_foragers (float): Mortality rate for foragers (proportion 0.0-1.0) 

38 """ 

39 

40 def __init__( 

41 self, 

42 ied_date=None, 

43 mort_eggs=0.0, 

44 mort_larvae=0.0, 

45 mort_brood=0.0, 

46 mort_adults=0.0, 

47 mort_foragers=0.0, 

48 ): 

49 self.ied_date = ied_date or datetime.now() 

50 self.mort_eggs = mort_eggs 

51 self.mort_larvae = mort_larvae 

52 self.mort_brood = mort_brood 

53 self.mort_adults = mort_adults 

54 self.mort_foragers = mort_foragers 

55 

56 def __str__(self): 

57 return ( 

58 f"IEDItem(date={self.ied_date}, mort_eggs={self.mort_eggs}, " 

59 f"mort_larvae={self.mort_larvae}, mort_brood={self.mort_brood}, " 

60 f"mort_adults={self.mort_adults}, mort_foragers={self.mort_foragers})" 

61 )